画像:Villarceau circles.gif
出典: フリー百科事典『ウィキペディア(Wikipedia)』
Villarceau_circles.gif (583KB, MIMEタイプ: image/gif
)
このファイルはウィキメディア・コモンズから呼び出されたものです。 ページ・ノートへの記入や履歴などの詳細の確認はコモンズの画像説明ページ(ノート/履歴/ログ)を使用してください。 |
[編集] ウィキメディア・コモンズの記述
[edit] Summary
Villarceau circles in a Torus. Rendered using POV-Ray.
[edit] POV-Ray source code
/* Villarceau circles 2.0, by Lucas V. Barbosa - October 2, 2006 - Coded in: POV-Ray 3.6 License: Public Domain Info ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Author user page: http://en.wikipedia.org/wiki/User:Kieff 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 kept 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 */
[edit] Licensing
I, the author of this work, hereby release it into the public domain. This applies worldwide. In case this is not legally possible: Afrikaans | Alemannisch | Aragonés | العربية | Български | Català | Česky | Cymraeg | Dansk | Deutsch | Ελληνικά | English | Español | Esperanto | فارسی | Français | Galego | 한국어 | हिन्दी | Hrvatski | Ido | Bahasa Indonesia | Íslenska | Italiano | עברית | Latina | Lietuvių | Magyar | Bahasa Melayu | Nederlands | Norsk (bokmål) | Norsk (nynorsk) | 日本語 | Polski | Português | Ripoarish | Română | Русский | Slovenčina | Slovenščina | Српски | Svenska | ไทย | Türkçe | Українська | Tiếng Việt | Walon | 简体中文 | 繁體中文 | 粵語 | +/- |
リンク
この画像にリンクしているページの一覧: