Mug_and_Torus_morph.gif(240 × 240 พิกเซล, ขนาดไฟล์: 497 กิโลไบต์, ชนิดไมม์: image/gif, วนซ้ำ, 58 เฟรม, 12 วินาที)

Wikimedia Commons logo รูปภาพหรือไฟล์เสียงนี้ ต้นฉบับอยู่ที่ คอมมอนส์ รายละเอียดด้านล่าง เป็นข้อความที่แสดงผลจาก ไฟล์ต้นฉบับในคอมมอนส์
คอมมอนส์เป็นเว็บไซต์ในโครงการสำหรับเก็บรวบรวมสื่อเสรี ที่ คุณสามารถช่วยได้

ความย่อ

คำอธิบาย
English: A coffee mug morphing into a torus, a popular example in topology.
Türkçe: Bir kahve bardağının simide sürekli deformasyonunu gösteren bir homeomorfizma animasyonu.
 
ไฟล์กราฟิกส์นี้ สร้างขึ้นโดยใช้ Persistence of Vision
แหล่งที่มา งานของตัว
ผู้สร้างสรรค์ Lucas Vieira
เวอร์ชันอื่น
File:Mug and Torus morph frame.png
single frame suitable for thumbnail purposes

วิกิพีเดีย

 นี่คือภาพคัดสรรในวิกิพีเดียภาษาอังกฤษ (Featured pictures) และ คือ ถือว่าเป็น ภาพอย่างใดอย่างหนึ่งที่ดีที่สุด
 นี่คือภาพคัดสรรในวิกิพีเดียภาษาตุรกี (Seçkin resimler) และ คือ ถือว่าเป็น ภาพอย่างใดอย่างหนึ่งที่ดีที่สุด

ถ้าคิดว่าไฟล์นี้ควรจะให้ความสำคัญกับวิกิมีเดียคอมมอนส์เป็นอย่างดี อย่าลังเลที่จะ เสนอชื่อ หากคุณมีภาพที่มีคุณภาพ คล้ายคลึงกัน ที่จะสามารถเผยแพร่ได้ตาม สัญญาอนุญาตที่เหมาะสม, ให้แน่ใจว่า คุณได้ อัปโหลด กำหนดสัญญาอนุญาต และได้ เสนอชื่อแล้ว

POV-Ray source code

/* 
Torus to mug morphing animation, by Lucas Vieira - January 17, 2007 - Coded in: POV-Ray 3.6
License: Public Domain

Info
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Author user page: http://en.wikipedia.org/wiki/User:LucasVB
The final animation at Wikimedia Commons: [[:File:Mug_and_Torus_morph.gif]]


Notes
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Several modifications were done for each part of the animation and I didn't keep them all here.
So if you wish to reproduce the animation, you'll have to play with this code quite a bit. :)

*/


background { color rgb 1 }

global_settings { assumed_gamma 1.5 }

camera {
	orthographic
	location <0,4,-5>*0.8
	look_at <0,0,0>
	//rotate -45*y
}

#declare dist = 0.2;
light_source {
	<0,0,0>, 1
	//translate <-3,5,-5>*1
	translate 5*y
	translate -5*z
	translate 2*x
}


#declare a = 1;

// Cylinders for the mug shape
#declare C_a = function { pow(x / a,2) + pow(z / a,2)-1.5 }
#declare C_b = function { pow(x / a,2) + pow(z / a,2)-1.2 }
#declare B_b = function { (y+1.3) }


// Torus (handle and the morphing target)
#declare R = 1; #declare r = 0.22;
#declare T_a = function { pow(R - sqrt(pow(x,2) + pow(y,2)),2) + pow(z,2) - pow(r,2) }
#declare R2 = 1; #declare r2 = 0.5;
#declare T_b = function { pow(R2 - sqrt(pow(x,2) + pow(y,2)),2) + pow(z,2) - pow(r2,2) }

// Hollow mug (concave)
#declare Mug = function { min(min(max(C_a(x,y,z),B_b(x,y,z)),max(C_a(x,y,z),-C_b(x,y,z))),max(T_a(x-1,y,z),-C_a(x,y,z))) }

// Solid mug (cylinder with handle, convex)
#declare Mug2 = function { min(C_a(x,y,z),max(T_a(x-1,y,z),-C_a(x,y,z))) }


#declare c = 0.5;

// Linear to smooth interpolation
#declare Int = pow(sin(clock*pi/2),2);


// Functions for the mug parts, left as backups.
// max(C_a(x,y,z),B_b(x,y,z)) bottom
// max(C_a(x,y,z),-C_b(x,y,z)) sides
// min(max(C_a(x,y,z),B_b(x,y,z)),max(C_a(x,y,z),-C_b(x,y,z))) bottom+sides
// max(T_a(x-1,y,z),-C_a(x,y,z)) handle
// min(min(max(C_a(x,y,z),B_b(x,y,z)),max(C_a(x,y,z),-C_b(x,y,z))),max(T_a(x-1,y,z),-C_a(x,y,z))) full mug
  	

// Render as isosurface or CSG.
// Isosurface is used in the transitional states.
#declare RenderIsosurface = 0;
#if (RenderIsosurface)
union {
	isosurface {
		function {
			// Add previously defined object functions using Int and (1-Int) as to generate the smooth transition
	    	//Mug2(x,y,z)*(1-Int) +
			Mug(x,y,z)
			//T_b(x-1,y,z)*Int
		}
	  	contained_by { box { -<3,1.5,3>, <3,1.5,3> } }
		accuracy 0.001
		max_gradient 5 // 10
		//rotate -90*x
	}
	cylinder {
		<0,-1.3+Int*2.8,0>, <0,-1.5,0>, sqrt(1.5)
	}
	pigment {
  		color rgb <0.6,0.8,1> transmit 0.1
	}
	finish {
		specular 0.5
		roughness 0.01
		ambient 0.2
	}
}
#else
union {
	difference {
		cylinder {
			-1.5*y, 1.5*y, sqrt(1.5)
		}
		cylinder {
			-2*y, 2*y, sqrt(1.2)
		}
	}
	difference {
		torus {
			R, r
			rotate 90*x
			translate x
		}
		cylinder {
			-1.5*y, 1.5*y, sqrt(1.5)
		}
	}
	cylinder {
		<0,0-0.25+Int*(1.5+0.25),0>, <0,-1.5,0>, sqrt(1.5)
	}
	pigment {
  		color rgb <0.6,0.8,1> transmit 0.1
	}
	finish {
		specular 0.5
		roughness 0.01
		ambient 0.2
	}
}
#end

/* END OF FILE */

Updated January 12, 2007

  1. New colors: blue hue, brighter, softer shadows
  2. Changed light angle
  3. Non-linear interpolation: looks smoother and less boring
  4. Faster frame rate
  5. Cropped to relevant area
  6. Overall, smaller size for a better-looking image.

Updated January 20, 2007

  1. Removed dithering. Image now has visible color bands, but at least thumbnails won't look excessively grainy.

Updated March 1, 2007

  1. More saturation of colors

การอนุญาตใช้สิทธิ

Public domain ข้าพเจ้า ผู้ถือลิขสิทธิ์ในงานนี้ ขอมอบงานให้เป็นสาธารณสมบัติ ประกาศนี้มีผลทั่วโลก
ในบางประเทศ การกระทำดังกล่าวอาจไม่สามารถทำได้ตามกฎหมาย
ข้าพเจ้าอนุญาตให้ทุกคนมีสิทธิ์ในการใช้ไฟล์นี้ในทุกเหตุผลการใช้ โดยไม่มีมีเงื่อนไข เว้นแต่กฎหมายไม่อนุญาตให้ทำเช่นนั้น

คำบรรยายโดยย่อ

เพิ่มคำบรรยายทรรทัดเดียวเพื่อขยายความว่าไฟล์นี้มีอะไร
A coffee mug turning into a torus, a popular example in topology.

ไอเทมที่แสดงอยู่ในไฟล์นี้

ประกอบด้วย

ประวัติไฟล์

คลิกวันที่/เวลาเพื่อดูไฟล์ที่ปรากฏในขณะนั้น

วันที่/เวลารูปย่อขนาดผู้ใช้ความเห็น
ปัจจุบัน07:56, 2 มีนาคม 2550รูปย่อสำหรับรุ่นเมื่อ 07:56, 2 มีนาคม 2550240 × 240 (497 กิโลไบต์)LucasVBback to old cropping - looks a lot better
07:49, 2 มีนาคม 2550รูปย่อสำหรับรุ่นเมื่อ 07:49, 2 มีนาคม 2550189 × 240 (477 กิโลไบต์)LucasVBmore saturation of colors
15:30, 20 มกราคม 2550รูปย่อสำหรับรุ่นเมื่อ 15:30, 20 มกราคม 2550240 × 240 (465 กิโลไบต์)LucasVBRemoved dithering since it was causing excessive grainy-ness in thumbnails. Image now has color bands, but at least thumbnails won't look bad.
12:49, 12 มกราคม 2550รูปย่อสำหรับรุ่นเมื่อ 12:49, 12 มกราคม 2550240 × 240 (497 กิโลไบต์)LucasVBBetter version -- bright color+softer shadows+color=blue instead of an ugly yellowish-brown --- non-linear interpolation (looks a lot smoother) --- cropped to relevant area -- all in all, looks better and the file is a hundred kilobytes smaller :)
13:02, 2 ตุลาคม 2549รูปย่อสำหรับรุ่นเมื่อ 13:02, 2 ตุลาคม 2549320 × 240 (554 กิโลไบต์)LucasVBA coffee w:mug morphing into a w:torus.

การใช้ไฟล์ข้ามโครงการ

วิกิอื่นต่อไปนี้ใช้ไฟล์นี้:

ดูการใช้ข้ามโครงการเพิ่มเติมของไฟล์นี้