File:Mug and Torus morph.gif

Allikas: Wikimedia Commons
Mine navigeerimisribale Mine otsikasti

Mug_and_Torus_morph.gif(240 × 240 pikslit, faili suurus: 497 KB, MIME tüüp: image/gif, korduv, 58 kaadrit, 12 s)

Pealdised

Pealdised

Lisa üherealine seletus sellest, mida fail esitab
A coffee mug turning into a torus, a popular example in topology.

Lühikirjeldus[muuda]

Kirjeldus
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.
 
See kujutis on valmistatud rakendusega POV-Ray.
Allikas Üleslaadija oma töö
Autor Lucas Vieira
Teised versioonid
File:Mug and Torus morph frame.png
single frame suitable for thumbnail purposes

Vikipeedia

 See on inglise Vikipeedia eeskujulik pilt (Featured pictures) ja on arvatud üheks parimatest piltidest.
 See on türgi Vikipeedia eeskujulik pilt (Seçkin resimler) ja on arvatud üheks parimatest piltidest.

Kui arvad, et see peaks ka Commonsi eeskujulik pilt olema, võid selle kandidaadiks seada.
Kui sul on sarnaste omadustega pilt, mida on võimalik sobiva litsentsi all avaldada, laadi see kindlasti üles ning märgista ja esita see.

POV-Ray source code[muuda]

/* 
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[muuda]

  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[muuda]

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

Updated March 1, 2007[muuda]

  1. More saturation of colors

Litsents[muuda]

Public domain Selle teose autoriõiguste valdajana annan selle teose avalikku omandisse. See kehtib üleilmselt.
Kui see pole mõnes riigis õiguslikult võimalik:
Annan kõigile õiguse seda teost kasutada ükskõik mille jaoks, ilma ühegi tingimuseta, kui seadus neid just ei sea.

Faili ajalugu

Klõpsa kuupäeva ja kellaaega, et näha sel ajahetkel kasutusel olnud failiversiooni.

Kuupäev/kellaaegPisipiltMõõtmedKasutajaKommentaar
viimane2. märts 2007, kell 00:56Pisipilt versioonist seisuga 2. märts 2007, kell 00:56240 × 240 (497 KB)LucasVB (arutelu | kaastöö)back to old cropping - looks a lot better
2. märts 2007, kell 00:49Pisipilt versioonist seisuga 2. märts 2007, kell 00:49189 × 240 (477 KB)LucasVB (arutelu | kaastöö)more saturation of colors
20. jaanuar 2007, kell 08:30Pisipilt versioonist seisuga 20. jaanuar 2007, kell 08:30240 × 240 (465 KB)LucasVB (arutelu | kaastöö)Removed dithering since it was causing excessive grainy-ness in thumbnails. Image now has color bands, but at least thumbnails won't look bad.
12. jaanuar 2007, kell 05:49Pisipilt versioonist seisuga 12. jaanuar 2007, kell 05:49240 × 240 (497 KB)LucasVB (arutelu | kaastöö)Better 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. oktoober 2006, kell 06:02Pisipilt versioonist seisuga 2. oktoober 2006, kell 06:02320 × 240 (554 KB)LucasVB (arutelu | kaastöö)A coffee w:mug morphing into a w:torus.

Globaalne failikasutus

Järgmised muud vikid kasutavad seda faili:

Vaata selle faili globaalset kasutust.