Bestand:Mug and Torus morph.gif

Uit Wikipedia, de vrije encyclopedie
Naar navigatie springen Naar zoeken springen

Mug_and_Torus_morph.gif(240 × 240 pixels, bestandsgrootte: 497 kB, MIME-type: image/gif, herhalend, 58 frames, 12 s)

Commons-logo.svg

Beschrijving

Beschrijving
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
Dit grafiek is gemaakt met Persistence of Vision.
Datum
Bron Eigen werk
Auteur User:LucasVB
Andere versies
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.svgDit is een uitgelichte afbeelding op de Engelstalige Wikipedia (Featured pictures) en wordt beschouwd als een van de beste afbeeldingen.
Cscr-featured.svgSound-icon-empty.svgDit is een uitgelichte afbeelding op de Turkstalige Wikipedia (Seçkin resimler) en wordt beschouwd als een van de beste afbeeldingen.

Als u vindt dat dit bestand ook op Wikimedia Commons een uitgelichte afbeelding zou moeten worden, voelt u zich dan vrij het te nomineren.
Als u een bestand van vergelijkbare kwaliteit heeft dat kan worden gepubliceerd onder een geschikte copyrightlicentie, upload het dan, voeg een licentie toe, en nomineer het.


العربية | অসমীয়া | 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

Licentie

Public domain Ik, de auteursrechthebbende van dit werk, geef dit werk vrij in het publieke domein. Dit is wereldwijd van toepassing.
In sommige landen is dit wettelijk niet mogelijk; in die gevallen geldt:
Ik sta iedereen toe dit werk voor eender welk doel te gebruiken, zonder enige voorwaarden, tenzij zulke voorwaarden door de wet worden voorgeschreven.

Bestandsgeschiedenis

Klik op een datum/tijd om het bestand te zien zoals het destijds was.

Datum/tijdMiniatuurAfmetingenGebruikerOpmerking
huidige versie2 mrt 2007 01:56Miniatuurafbeelding voor de versie van 2 mrt 2007 om 01:56240 × 240 (497 kB)LucasVBback to old cropping - looks a lot better
2 mrt 2007 01:49Miniatuurafbeelding voor de versie van 2 mrt 2007 om 01:49189 × 240 (477 kB)LucasVBmore saturation of colors
20 jan 2007 09:30Miniatuurafbeelding voor de versie van 20 jan 2007 om 09:30240 × 240 (465 kB)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 jan 2007 06:49Miniatuurafbeelding voor de versie van 12 jan 2007 om 06:49240 × 240 (497 kB)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 okt 2006 07:02Miniatuurafbeelding voor de versie van 2 okt 2006 om 07:02320 × 240 (554 kB)LucasVBA coffee w:mug morphing into a w:torus.

Dit bestand wordt op de volgende 4 pagina's gebruikt:

Globaal bestandsgebruik

De volgende andere wiki's gebruiken dit bestand:

Globaal gebruik van dit bestand bekijken.