Zum Inhalt springen

Datei:Mug and Torus morph.gif

aus AufEinWort, der freien Forschung
    Originaldatei (240 × 240 Pixel, Dateigröße: 497 KB, MIME-Typ: image/gif, Endlosschleife, 58 Bilder, 12 s)

    Diese Datei stammt aus Wikimedia Commons und kann von anderen Projekten verwendet werden. Die Beschreibung von deren Dateibeschreibungsseite wird unten angezeigt.

    Beschreibung

    Beschreibung
    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.
    Русский: Кофейная кружка, превращающаяся в тор, популярный пример в топологии..
     Diese Grafik wurde mit POV-Ray erstellt.
    Quelle Eigenes Werk
    Urheber Lucas Vieira
    Andere Versionen
    File:Mug and Torus morph frame.png
    single frame suitable for thumbnail purposes

    Wikipedia

     Dies ist eine exzellente Datei in der Wikipedia auf Englisch (Featured pictures) und wird als eine der hervorragendsten Bild-Dateien gewertet.
     Dies ist eine exzellente Datei in der Wikipedia auf Türkisch (Seçkin resimler) und wird als eine der hervorragendsten Bild-Dateien gewertet.

    Wenn du meinst, diese Datei sollte auch auf Wikimedia Commons ein exzellentes Bild werden, dann kannst du sie nominieren.
    Wenn du ein Bild vergleichbarer Qualität hast, das du unter einer passenden freien Lizenz freigeben kannst, dann lade die Datei hoch, gib ihr eine korrekte Lizenzangabe und nominiere sie!

    POV-Ray source code

    Mug_and_Torus_morph.pov
    /* 
    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

    Lizenz

    Public domain Ich, der Urheberrechtsinhaber dieses Werkes, veröffentliche es als gemeinfrei. Dies gilt weltweit.
    In manchen Staaten könnte dies rechtlich nicht möglich sein. Sofern dies der Fall ist:
    Ich gewähre jedem das bedingungslose Recht, dieses Werk für jedweden Zweck zu nutzen, es sei denn, Bedingungen sind gesetzlich erforderlich.

    Kurzbeschreibungen

    Ergänze eine einzeilige Erklärung, was diese Datei darstellt.
    A coffee mug turning into a torus, a popular example in topology.

    In dieser Datei abgebildete Objekte

    Motiv

    image/gif

    508.851 Byte

    240 Pixel

    240 Pixel

    12ebd5186af52ddcefb0bf82a81fd5a45fb4b127

    Dateiversionen

    Klicke auf einen Zeitpunkt, um diese Version zu laden.

    Version vomVorschaubildMaßeBenutzerKommentar
    aktuell01:56, 2. Mär. 2007Vorschaubild der Version vom 01:56, 2. Mär. 2007240 × 240 (497 KB)wikimediacommons>LucasVBback to old cropping - looks a lot better

    Die folgenden 2 Seiten verwenden diese Datei: