Mug_and_Torus_morph.gif(240 × 240 بكسل حجم الملف: 497 كيلوبايت، نوع MIME: image/gif، ‏ملفوف، ‏58 إطارا، ‏12ث)

ملخص

الوصف
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.
 
.هذا الرسم المتجهي أُنشئ بواسطة POV-Ray
المصدر عمل شخصي
المؤلف 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.

العناصر المصورة في هذا الملف

يُصوِّر

تاريخ الملف

اضغط على زمن/تاريخ لرؤية الملف كما بدا في هذا الزمن.

زمن/تاريخصورة مصغرةالأبعادمستخدمتعليق
حالي00:56، 2 مارس 2007تصغير للنسخة بتاريخ 00:56، 2 مارس 2007240 × 240 (497 كيلوبايت)LucasVBback to old cropping - looks a lot better
00:49، 2 مارس 2007تصغير للنسخة بتاريخ 00:49، 2 مارس 2007189 × 240 (477 كيلوبايت)LucasVBmore saturation of colors
08:30، 20 يناير 2007تصغير للنسخة بتاريخ 08:30، 20 يناير 2007240 × 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.
05:49، 12 يناير 2007تصغير للنسخة بتاريخ 05:49، 12 يناير 2007240 × 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 :)
06:02، 2 أكتوبر 2006تصغير للنسخة بتاريخ 06:02، 2 أكتوبر 2006320 × 240 (554 كيلوبايت)LucasVBA coffee w:mug morphing into a w:torus.

الاستخدام العالمي للملف

الويكيات الأخرى التالية تستخدم هذا الملف:

اعرض المزيد من الاستخدام العام لهذا الملف.