Villarceau_circles.gif(480 × 360 пкс, размер файла: 582 Кб, MIME-тип: image/gif, закольцованный, 39 фреймов, 17 с)

Краткое описание

Описание
English: Villarceau circles in a Torus. Rendered using POV-Ray.
 
Это изображение было создано с помощью Persistence of Vision.
Источник Собственная работа
Автор Lucas Vieira

Википедия

 Этот файл имеет статус избранного изображения (Featured pictures) в Википедии (английский раздел) и в настоящее время признан там одним из лучших изображений.

Если вы считаете, что этот файл заслуживает статуса «избранного» на Викискладе, не стесняйтесь номинировать его.
Если у вас есть изображение аналогичного качества, которое может быть опубликовано под свободной лицензией, пожалуйста, загрузите его, выберите лицензию и номинируйте его.

Лицензирование

Public domain Я, владелец авторских прав на это произведение, передаю его в общественное достояние. Это разрешение действует по всему миру.
В некоторых странах это не может быть возможно юридически, в таком случае:
Я даю право кому угодно использовать данное произведение в любых целях без каких-либо условий, за исключением таких условий, которые требуются по закону.

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 */

Краткие подписи

Добавьте однострочное описание того, что собой представляет этот файл

Элементы, изображённые на этом файле

изображённый объект

У этого свойства есть некоторое значение без элемента в

image/gif

История файла

Нажмите на дату/время, чтобы посмотреть файл, который был загружен в тот момент.

Дата/времяМиниатюраРазмерыУчастникПримечание
текущий22:43, 2 октября 2006Миниатюра для версии от 22:43, 2 октября 2006480 × 360 (582 Кб)LucasVBLarger version (480x360)
21:31, 2 октября 2006Миниатюра для версии от 21:31, 2 октября 2006320 × 240 (336 Кб)LucasVBImproved version. :)
06:18, 1 октября 2006Миниатюра для версии от 06:18, 1 октября 2006480 × 360 (689 Кб)LucasVBadded an extra frame highlighting the circles
05:52, 1 октября 2006Миниатюра для версии от 05:52, 1 октября 2006480 × 360 (671 Кб)LucasVBw:Villarceau circles in a w:Torus

Следующие 2 страницы используют этот файл:

Глобальное использование файла

Данный файл используется в следующих вики:

Просмотреть глобальное использование этого файла.