Fil:Mug and Torus morph.gif

Från Wikipedia
Hoppa till navigering Hoppa till sök

Mug_and_Torus_morph.gif(240 × 240 pixlar, filstorlek: 497 kbyte, MIME-typ: image/gif, upprepad, 58 bildrutor, 12 s)

Sammanfattning

Beskrivning
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.
Povray logo sphere.png
Den här bilden skapades med Persistence of Vision.
Datum
Källa Eget arbete
Skapare User:LucasVB
Andra versioner
Mug and Torus morph frame.png File:Mug and Torus morph frame.png
single frame suitable for thumbnail purposes

Wikipedia

Cscr-featured.svgSound-icon-empty.svgDet här är en utvald bild på engelska Wikipedia (Featured pictures) och anses vara en av de bästa bilderna.
Cscr-featured.svgSound-icon-empty.svgDet här är en utvald bild på turkiska Wikipedia (Seçkin resimler) och anses vara en av de bästa bilderna.

Om du tycker att den här filen borde bli utvald även på Wikimedia Commons får du gärna nominera den.
Om du har en bild av motsvarande kvalitet som kan publiceras under en passande licens får du gärna ladda upp den, märka den, och nominera den.


العربية | অসমীয়া | Azərbaycanca | Беларуская (тарашкевіца)‎ | বাংলা | Català | Čeština | Cymraeg | Dansk | Deutsch | Zazaki | Ελληνικά | English | Esperanto | Español | Eesti | Euskara | فارسی | Тоҷикӣ | Suomi | Français | Galego | עברית | हिन्दी | Hrvatski | Magyar | Հայերեն | Bahasa Indonesia | Italiano | 日本語 | ქართული | Қазақша | 한국어 | 조선말 | Lëtzebuergesch | Lietuvių | Македонски | മലയാളം | मराठी | Bahasa Melayu | Malti | Plattdüütsch | Nederlands | Norsk nynorsk | Norsk | Polski | Português | Português do Brasil | Română | Русский | Slovenščina | Српски / srpski | Svenska | தமிழ் | ไทย | Tagalog | Türkçe | Татарча/tatarça | Українська | Tiếng Việt | Yorùbá | 中文(简体)‎ | 中文(繁體)‎ | 粵語 | +/−

POV-Ray source code

/* 
Torus to mug morphing animation, by Lucas V. Barbosa - 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: http://commons.wikimedia.org/wiki/Image: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

Licensiering

Public domain Jag, upphovsrättsinnehavaren till detta verk, släpper detta verk i public domain. Detta gäller globalt.
I vissa länder kan detta inte vara juridiskt möjligt; i så fall:
Jag ger härmed envar rätten att använda detta verk för alla ändamål, utan några villkor, förutom villkor som lagen ställer.

Filhistorik

Klicka på ett datum/klockslag för att se filen som den såg ut då.

Datum/TidMiniatyrbildDimensionerAnvändareKommentar
nuvarande2 mars 2007 kl. 01.56Miniatyrbild för versionen från den 2 mars 2007 kl. 01.56240 × 240 (497 kbyte)LucasVBback to old cropping - looks a lot better
2 mars 2007 kl. 01.49Miniatyrbild för versionen från den 2 mars 2007 kl. 01.49189 × 240 (477 kbyte)LucasVBmore saturation of colors
20 januari 2007 kl. 09.30Miniatyrbild för versionen från den 20 januari 2007 kl. 09.30240 × 240 (465 kbyte)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 januari 2007 kl. 06.49Miniatyrbild för versionen från den 12 januari 2007 kl. 06.49240 × 240 (497 kbyte)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 :)
2 oktober 2006 kl. 07.02Miniatyrbild för versionen från den 2 oktober 2006 kl. 07.02320 × 240 (554 kbyte)LucasVBA coffee w:mug morphing into a w:torus.

Följande sida använder den här filen:

Global filanvändning

Följande andra wikier använder denna fil:

Visa mer globalt användande av denna fil.