پرونده:Mug and Torus morph.gif

Page contents not supported in other languages.
از ویکی‌پدیا، دانشنامهٔ آزاد

Mug_and_Torus_morph.gif(۲۴۰ × ۲۴۰ پیکسل، اندازهٔ پرونده: ۴۹۷ کیلوبایت، نوع MIME پرونده: image/gif، چرخش‌دار، ۵۸ قاب، ۱۲ ثانیه)

خلاصه

توضیح
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.
 
این دیاگرام یا سند با POV-Ray ساخته شده است.
منبع اثر شخصی
پدیدآور Lucas Vieira
دیگر نسخه‌ها
File:Mug and Torus morph frame.png
single frame suitable for thumbnail purposes

ویکی‌پدیا

 این پرونده یک نگارهٔ برگزیده در ویکی‌پدیای انگلیسی (Featured pictures) است و یکی از بهترین نگاره‌ها به شمار می‌رود.
 این پرونده یک نگارهٔ برگزیده در ویکی‌پدیای ترکی استانبولی (Seçkin resimler) است و یکی از بهترین نگاره‌ها به شمار می‌رود.

اگر به نظرتان این پرونده باید در انبار ویکی‌مدیا هم برگزیده باشد حتماً آن را نامزد کنید.
اگر تصویری با کیفیت مشابه دارید که می‌توان آن را تحت مجوز حق‌تکثیر مناسب منتشر کرد حتماً بارگذاری‌اش کنید، برچسب حق‌تکثیر مناسب به آن بزنید و نامزدش کنید.

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

  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 من، دارنده حق تکثیر این اثر، این اثر را به مالکیت عمومی منتشر می‌کنم. این قابل اجرا در تمام نقاط جهان است.
در برخی از کشورها ممکن است به صورت قانونی این امکان‌پذیر نباشد؛ اگر چنین است:
من اجازهٔ استفاده از این اثر را برای هر مقصودی، بدون هیچ‌گونه شرایطی می‌دهم، تا وقتی که این شرایط توسط قانون مستلزم نشده باشد.

عنوان

شرحی یک‌خطی از محتوای این فایل اضافه کنید
A coffee mug turning into a torus, a popular example in topology.

آیتم‌هایی که در این پرونده نمایش داده شده‌اند

توصیف‌ها

این خصوصیت مقداری دارد اما نامشخص است.

source of file انگلیسی

تاریخچهٔ پرونده

روی تاریخ/زمان‌ها کلیک کنید تا نسخهٔ مربوط به آن هنگام را ببینید.

تاریخ/زمانبندانگشتیابعادکاربرتوضیح
کنونی‏۲ مارس ۲۰۰۷، ساعت ۰۰:۵۶تصویر بندانگشتی از نسخهٔ مورخ ‏۲ مارس ۲۰۰۷، ساعت ۰۰:۵۶۲۴۰ در ۲۴۰ (۴۹۷ کیلوبایت)LucasVBback to old cropping - looks a lot better
‏۲ مارس ۲۰۰۷، ساعت ۰۰:۴۹تصویر بندانگشتی از نسخهٔ مورخ ‏۲ مارس ۲۰۰۷، ساعت ۰۰:۴۹۱۸۹ در ۲۴۰ (۴۷۷ کیلوبایت)LucasVBmore saturation of colors
‏۲۰ ژانویهٔ ۲۰۰۷، ساعت ۰۸:۳۰تصویر بندانگشتی از نسخهٔ مورخ ‏۲۰ ژانویهٔ ۲۰۰۷، ساعت ۰۸:۳۰۲۴۰ در ۲۴۰ (۴۶۵ کیلوبایت)LucasVBRemoved dithering since it was causing excessive grainy-ness in thumbnails. Image now has color bands, but at least thumbnails won't look bad.
‏۱۲ ژانویهٔ ۲۰۰۷، ساعت ۰۵:۴۹تصویر بندانگشتی از نسخهٔ مورخ ‏۱۲ ژانویهٔ ۲۰۰۷، ساعت ۰۵:۴۹۲۴۰ در ۲۴۰ (۴۹۷ کیلوبایت)LucasVBBetter 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 :)
‏۲ اکتبر ۲۰۰۶، ساعت ۰۶:۰۲تصویر بندانگشتی از نسخهٔ مورخ ‏۲ اکتبر ۲۰۰۶، ساعت ۰۶:۰۲۳۲۰ در ۲۴۰ (۵۵۴ کیلوبایت)LucasVBA coffee w:mug morphing into a w:torus.

کاربرد سراسری پرونده

ویکی‌های دیگر زیر از این پرونده استفاده می‌کنند:

نمایش استفاده‌های سراسری از این پرونده.