File:Villarceau circles.gif
From Vigyanwiki
Villarceau circles.gif
Villarceau_circles.gif (480 × 360 pixels, file size: 582 KB, MIME type: image/gif, looped, 39 frames, 17 s)
This file is from Wikimedia Commons and may be used by other projects. The description on its file description page there is shown below.
Summary
DescriptionVillarceau circles.gif |
This image was created with POV-Ray. |
Source | Own work |
Author | Lucas Vieira |
|
Licensing
Public domainPublic domainfalsefalse |
I, the copyright holder of this work, release this work into the public domain. This applies worldwide. In some countries this may not be legally possible; if so: I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law. |
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 */
Items portrayed in this file
depicts
some value
image/gif
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 04:13, 3 October 2006 | 480 × 360 (582 KB) | wikimediacommons>LucasVB | Larger version (480x360) |
File usage
The following 2 pages use this file:
Retrieved from ‘https://www.vigyanwiki.in/wiki/File:Villarceau_circles.gif’