File:Mug and Torus morph.gif

出典:ウィキメディア・コモンズ (Wikimedia Commons)
Jump to navigation Jump to search
Mug_and_Torus_morph.gif(240 × 240 ピクセル、ファイルサイズ: 497キロバイト、MIME タイプ: image/gif、ループします、58 フレーム、12秒)

概要[編集]

解説
English: A coffee mug morphing into a torus, a popular example in topology.
Türkçe: Bir kahve bardağının simide sürekli deformasyonunu gösteren bir homeomorfizma animasyonu.
Povray logo sphere.png
この 画像POV-Rayで作成されました.
日付
原典 投稿者自身による作品
作者 User:LucasVB
その他のバージョン
Mug and Torus morph frame.png File:Mug and Torus morph frame.png
single frame suitable for thumbnail purposes

Wikipedia

Cscr-featured.svgSound-icon-empty.svgこのファイルは英語版ウィキペディアで秀逸な画像 (Featured pictures) であり、 もっとも質の高い画像のひとつだと評価されています。
Cscr-featured.svgSound-icon-empty.svgこのファイルはトルコ語版ウィキペディアで秀逸な画像 (Seçkin resimler) であり、 もっとも質の高い画像のひとつだと評価されています。

あなたが、このファイルはウィキメディア・コモンズでも秀逸と評価されるべきだ、とお考えなら、自由に推薦してください。
もしあなたが同じくらい品質が高く、適切なライセンスの下に公開できるファイルをお持ちならば、ぜひアップロードして、著作権情報を表示し、推薦しましょう。


العربية | অসমীয়া | Azərbaycanca | Беларуская (тарашкевіца)‎ | বাংলা | Català | Čeština | Cymraeg | Dansk | Deutsch | Zazaki | Ελληνικά | English | Esperanto | Español | Eesti | Euskara | فارسی | Тоҷикӣ | Suomi | Français | Galego | עברית | हिन्दी | Hrvatski | Magyar | Հայերեն | Bahasa Indonesia | Italiano | 日本語 | ქართული | Қазақша | 한국어 | 조선말 | Lëtzebuergesch | Lietuvių | Македонски | മലയാളം | मराठी | Bahasa Melayu | Malti | Plattdüütsch | Nederlands | Norsk nynorsk | Norsk | Polski | Português | Português do Brasil | Română | Русский | Slovenščina | Српски / srpski | Svenska | தமிழ் | ไทย | Tagalog | Türkçe | Татарча/tatarça | Українська | Tiếng Việt | Yorùbá | 中文(简体)‎ | 中文(繁體)‎ | 粵語 | +/−

POV-Ray source code[編集]

/* 
Torus to mug morphing animation, by Lucas V. Barbosa - 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: http://commons.wikimedia.org/wiki/Image: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[編集]

  1. New colors: blue hue, brighter, softer shadows
  2. Changed light angle
  3. Non-linear interpolation: looks smoother and less boring
  4. Faster frame rate
  5. Cropped to relevant area
  6. Overall, smaller size for a better-looking image.

Updated January 20, 2007[編集]

  1. Removed dithering. Image now has visible color bands, but at least thumbnails won't look excessively grainy.

Updated March 1, 2007[編集]

  1. More saturation of colors

ライセンス[編集]

Public domain この作品の著作権者である私は、この作品の権利を放棄しパブリックドメインとします。これは全世界で適用されます。
一部の国では、これが法的に可能ではない場合があります。その場合:
私は、あらゆる人に対して、法により必要とされている条件を除きいかなる条件も課すことなく、あらゆる目的のためにこの作品を使用する権利を与えます。

ファイルの履歴

過去の版のファイルを表示するには、その版の日時をクリックしてください。

日付と時刻サムネイル寸法利用者コメント
現在の版2007年3月2日 (金) 00:562007年3月2日 (金) 00:56時点における版のサムネイル240 × 240 (497キロバイト)LucasVB (トーク | 投稿記録)back to old cropping - looks a lot better
2007年3月2日 (金) 00:492007年3月2日 (金) 00:49時点における版のサムネイル189 × 240 (477キロバイト)LucasVB (トーク | 投稿記録)more saturation of colors
2007年1月20日 (土) 08:302007年1月20日 (土) 08:30時点における版のサムネイル240 × 240 (465キロバイト)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:492007年1月12日 (金) 05:49時点における版のサムネイル240 × 240 (497キロバイト)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:022006年10月2日 (月) 06:02時点における版のサムネイル320 × 240 (554キロバイト)LucasVB (トーク | 投稿記録)A coffee w:mug morphing into a w:torus.
  • このファイルは上書きできません。

グローバルなファイル使用状況

以下に挙げる他のウィキがこの画像を使っています:

このファイルのグローバル使用状況を表示する。