Dosya:Mug and Torus morph.gif

Mug_and_Torus_morph.gif((240 × 240 piksel, dosya boyutu: 497 KB, MIME tipi: image/gif), döngüye girdi, 58 kare, 12 sn)


Özet

Açıklama
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.
 
Bu grafik POV-Ray ile oluşturuldu.
Kaynak Yükleyenin kendi çalışması
Yazar Lucas Vieira
Diğer sürümler
File:Mug and Torus morph frame.png
single frame suitable for thumbnail purposes

Vikipedi

 Bu resim, İngilizce Vikipedi'de (Featured pictures) seçkin resim dosyasıdır ve en iyi resimlerden biri olarak seçilmiştir.
 Bu resim, Türkçe Vikipedi'de (Seçkin resimler) seçkin resim dosyasıdır ve en iyi resimlerden biri olarak seçilmiştir.

Eğer bu dosyanın Vikimedya Ortak Alanında (Wikimedia Commons) seçkin resim olabileceğini düşünüyorsanız, aday göstermekten çekinmeyiniz.
Buna benzeyen kalitede uygun bir lisans sözleşmesi altında bulunan resminiz var ise onu muhakkak yükleyiniz, etiketleyiniz ve aday gösteriniz.

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

Lisanslama

Public domain Ben, bu işin telif sahibi, bu işi kamu malı olarak yayınlıyorum. Bu dünya çapında geçerlidir.
Bazı ülkelerde bu yasal olarak mümkün olmayabilir; öyleyse:
Ben, bu işi herhangi bir amaç için, herhangi bir şart olmaksızın, yasalarca gerekli olmadıkça, herkesin kullanmasına izin veriyorum.

Altyazılar

Bu dosyanın temsil ettiği şeyin tek satırlık açıklamasını ekleyin.
A coffee mug turning into a torus, a popular example in topology.

Bu dosyada gösterilen öğeler

betimlenen

Dosya geçmişi

Dosyanın herhangi bir zamandaki hâli için ilgili tarih/saat kısmına tıklayın.

Tarih/SaatKüçük resimBoyutlarKullanıcıYorum
güncel00.56, 2 Mart 200700.56, 2 Mart 2007 tarihindeki sürümün küçültülmüş hâli240 × 240 (497 KB)LucasVBback to old cropping - looks a lot better
00.49, 2 Mart 200700.49, 2 Mart 2007 tarihindeki sürümün küçültülmüş hâli189 × 240 (477 KB)LucasVBmore saturation of colors
08.30, 20 Ocak 200708.30, 20 Ocak 2007 tarihindeki sürümün küçültülmüş hâli240 × 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.
05.49, 12 Ocak 200705.49, 12 Ocak 2007 tarihindeki sürümün küçültülmüş hâli240 × 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 :)
06.02, 2 Ekim 200606.02, 2 Ekim 2006 tarihindeki sürümün küçültülmüş hâli320 × 240 (554 KB)LucasVBA coffee w:mug morphing into a w:torus.

Küresel dosya kullanımı

Aşağıdaki diğer vikiler bu dosyayı kullanır:

Bu dosyanın daha fazla küresel kullanımını görüntüle.