File:Mug_and_Torus_morph.gif
維基百科,自由的 encyclopedia
Mug_and_Torus_morph.gif (240 × 240 像素,檔案大小:497 KB,MIME 類型:image/gif、循環、58 畫格、12秒)
目次
摘要
描述Mug and Torus morph.gif |
Türkçe: Bir kahve bardağının simide sürekli deformasyonunu gösteren bir homeomorfizma animasyonu. ![]() 本圖形使用Persistence of Vision創作。 |
||
來源 | 自己的作品 | ||
作者 | Lucas Vieira | ||
其他版本 |
|
|
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
- New colors: blue hue, brighter, softer shadows
- Changed light angle
- Non-linear interpolation: looks smoother and less boring
- Faster frame rate
- Cropped to relevant area
- Overall, smaller size for a better-looking image.
Updated January 20, 2007
- Removed dithering. Image now has visible color bands, but at least thumbnails won't look excessively grainy.
Updated March 1, 2007
- More saturation of colors
授權條款
Public domainPublic domainfalsefalse |
![]() |
我,此作品的版權所有人,釋出此作品至公共領域。此授權條款在全世界均適用。 這可能在某些國家不合法,如果是的話: 我授予任何人有權利使用此作品於任何用途,除受法律約束外,不受任何限制。 |
說明
添加單行說明來描述出檔案所代表的內容
A coffee mug turning into a torus, a popular example in topology.
在此檔案描寫的項目
描繪內容
檔案歷史
點選日期/時間以檢視該時間的檔案版本。
日期/時間 | 縮圖 | 尺寸 | 使用者 | 備註 | |
---|---|---|---|---|---|
目前 | 2007年3月2日 (五) 00:56 | ![]() | 240 × 240(497 KB) | LucasVB | back to old cropping - looks a lot better |
2007年3月2日 (五) 00:49 | ![]() | 189 × 240(477 KB) | LucasVB | more saturation of colors | |
2007年1月20日 (六) 08:30 | ![]() | 240 × 240(465 KB) | LucasVB | Removed dithering since it was causing excessive grainy-ness in thumbnails. Image now has color bands, but at least thumbnails won't look bad. | |
2007年1月12日 (五) 05:49 | ![]() | 240 × 240(497 KB) | LucasVB | Better 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 :) | |
2006年10月2日 (一) 06:02 | ![]() | 320 × 240(554 KB) | LucasVB | A coffee w:mug morphing into a w:torus. |
檔案用途
下列8個頁面有用到此檔案:
全域檔案使用狀況
以下其他 wiki 使用了這個檔案:
- af.wikipedia.org 的使用狀況
- ar.wikipedia.org 的使用狀況
- ast.wikipedia.org 的使用狀況
- ba.wikipedia.org 的使用狀況
- be.wikipedia.org 的使用狀況
- bg.wikipedia.org 的使用狀況
- bn.wikipedia.org 的使用狀況
- bo.wikipedia.org 的使用狀況
- ca.wikipedia.org 的使用狀況
- cbk-zam.wikipedia.org 的使用狀況
- co.wikipedia.org 的使用狀況
- cs.wikipedia.org 的使用狀況
- cv.wikipedia.org 的使用狀況
- cy.wikipedia.org 的使用狀況
- da.wikipedia.org 的使用狀況
- de.wikipedia.org 的使用狀況
- de.wikibooks.org 的使用狀況
- el.wikipedia.org 的使用狀況
- el.wiktionary.org 的使用狀況
- en.wikipedia.org 的使用狀況
檢視此檔案的更多全域使用狀況。