ไฟล์:Mug and Torus morph.gif
จาก testwiki
ไปยังการนำทาง
ไปยังการค้นหา
Mug_and_Torus_morph.gif (240 × 240 พิกเซล, ขนาดไฟล์: 497 กิโลไบต์, ชนิดไมม์: 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. Русский: Кофейная кружка, превращающаяся в тор, популярный пример в топологии.. |
||
| แหล่งที่มา | งานของตัว | ||
| ผู้สร้างสรรค์ | 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.
Кофейная кружка превращающаяся в тор, популярный пример в топологии.
Bir kahve bardağının simide sürekli deformasyonunu gösteren bir homeomorfizma animasyonu.
รายการที่แสดงอยู่ในไฟล์นี้
ประกอบด้วย
บางค่าที่ไม่มีรายการวิกิสนเทศ
software used for creation อังกฤษ
POV-Ray อังกฤษ
animated GIF อังกฤษ
media type อังกฤษ
image/gif
ประวัติไฟล์
คลิกวันที่/เวลาเพื่อดูไฟล์ที่ปรากฏในขณะนั้น
| วันที่/เวลา | รูปย่อ | ขนาด | ผู้ใช้ | ความเห็น | |
|---|---|---|---|---|---|
| ปัจจุบัน | 01:56, 2 มีนาคม 2550 | 240 × 240 (497 กิโลไบต์) | wikimediacommons>LucasVB | back to old cropping - looks a lot better |
การใช้ไฟล์
1 หน้าต่อไปนี้ใช้ไฟล์นี้:
