Przejdź do zawartości

Plik:Villarceau circles.gif

Treść strony nie jest dostępna w innych językach.
Ten plik jest umieszczony w Wikimedia Commons
Z Wikipedii, wolnej encyklopedii

Villarceau_circles.gif (480 × 360 pikseli, rozmiar pliku: 582 KB, typ MIME: image/gif, zapętlony, 39 klatek, 17 s)

Opis

Opis
English: Villarceau circles in a Torus. Rendered using POV-Ray.
 
Ta grafika została stworzona za pomocą Persistence of Vision.
Źródło Praca własna
Autor Lucas Vieira

Wikipedia

 To jest wyróżniona grafika w Wikipedii w języku: angielski (Featured pictures) i jest uznana za jedną z najlepszych.

Jeśli uważasz, że ten plik powinien być grafiką na medal w projekcie Wikimedia Commons, nominuj go.
Jeśli posiadasz plik graficzny o podobnej jakości, który może zostać opublikowany na odpowiedniej licencji, prześlij go, oznacz licencję i nominuj.

Licencja

Public domain Ja, właściciel praw autorskich do tej pracy, udostępniam ją jako własność publiczną. Dotyczy to całego świata.
W niektórych krajach może nie być to prawnie możliwe, jeśli tak, to:
Zapewniam każdemu prawo do użycia tej pracy w dowolnym celu, bez żadnych ograniczeń, chyba że te ograniczenia są wymagane przez prawo.

POV-Ray source code

/* 
Villarceau circles 2.0, by Lucas Vieira - October 2, 2006 - 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:Villarceau_circles.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.75
	look_at <0,0,0>
	rotate 5*y // slight camera angle so the cutting plane doesn't look too boring
	//rotate 90*y // debug rotation
}

light_source {
	<0,0,0>, 1
	translate <-5,5,0>*1
	shadowless // makes everything softer, because shading comes entirely from the surface normal
	           // this removes specular reflections, but I thought it looked a lot better
}


//Several rotation codes used for various parts of the animation.

//#declare rotation = (-95*sin(clock*pi/2))*y; // 360*clock*y;
#declare rotation = -90*y;
//#declare rotation = (-85 * sin(clock*pi/2))*y;


//Bottom half-torus
#if (1)
difference {
	difference {
		torus {
			1, 0.5
		}
		torus {
			1, 0.499
			pigment {
				image_map {
					//surface inside the torus
					png "checker2.png" // 1024x512 checkered image, with 64x64 cells.
					interpolate 4
					map_type 5
					//transmit all 1-sin(clock*pi/2)
					//transmit all 0.85
				}
			}
		}
	}
	box {
   -3*<1,0,1>, <1,1,1>*3
		rotate degrees(asin(0.5-0.001))*z
	}
	pigment {
		image_map {
			png "checker.png" // 1024x512 checkered image, with 64x64 cells.
			interpolate 4
			map_type 5
			//transmit all 1-sin(clock*pi/2)
			//transmit all 0.85
		}
	}
	finish {
		specular 0.5
		roughness 0.01
		ambient 0.5
	}
	rotate rotation
}
#end


//Top half-torus (the one discarded during the animation)
//Notice it doesn't have an inner surface like the other half

#if (0)
intersection {
	difference {
		torus {
			1, 0.5
		}
		torus {
			1, 0.499
		}
	}
	box {
   -3*<1,0,1>, <1,1,1>*3
		rotate degrees(asin(0.5-0.001))*z
	}
	pigment {
		image_map {
			png "checker.png" // 1024x512 checkered image, with 64x64 cells.
			interpolate 4
			map_type 5
			//transmit all 1-sin(clock*pi/2) // Fades it away while moving to the left (see below)
			//transmit all 0.85
		}
	}
	finish {
		specular 0.5
		roughness 0.01
		ambient 0.5
	}
	//translate -x*0.5*sin(clock*pi/2) // Moves this part to the left. Should be enabled along with the fade code above
	rotate rotation
}
#end

//Cutting plane
#if (0)
box {
	<1.8,0.001,1.8>, -<1.8,0.001,1.8>
	pigment {
		color rgb <1,0.8,0.5>
		//transmit 1-sin(clock*pi/2)*0.4
		//transmit 0.6+0.4*sin(clock*pi/2)
		transmit 0.6
	}
	finish {
		specular 0.5
		roughness 0.01
		ambient 0.3
	}
	//translate 3.5*x - sin(clock*pi/2)*3.5*x
	rotate degrees(asin(0.5-0.001))*z
}
#end

//The Villarceau circles
#if (0)
union {
	torus {
		1, 0.01
		translate 0.5*z
	}
	torus {
		1, 0.01
		translate -0.5*z
	}
	pigment {
		color rgb <1,0,0>
		//transmit clock
	}
	finish {
		ambient 1
	}
	no_shadow
	rotate degrees(asin(0.5-0.001))*z
	rotate -85*y
}
#end

/* END OF FILE */

Podpisy

Dodaj jednolinijkowe objaśnienie tego, co ten plik pokazuje

Obiekty przedstawione na tym zdjęciu

przedstawia

image/gif

Historia pliku

Kliknij na datę/czas, aby zobaczyć, jak plik wyglądał w tym czasie.

Data i czasMiniaturaWymiaryUżytkownikOpis
aktualny23:43, 2 paź 2006Miniatura wersji z 23:43, 2 paź 2006480 × 360 (582 KB)LucasVBLarger version (480x360)
22:31, 2 paź 2006Miniatura wersji z 22:31, 2 paź 2006320 × 240 (336 KB)LucasVBImproved version. :)
07:18, 1 paź 2006Miniatura wersji z 07:18, 1 paź 2006480 × 360 (689 KB)LucasVBadded an extra frame highlighting the circles
06:52, 1 paź 2006Miniatura wersji z 06:52, 1 paź 2006480 × 360 (671 KB)LucasVBw:Villarceau circles in a w:Torus

Globalne wykorzystanie pliku

Ten plik jest wykorzystywany także w innych projektach wiki: