پرونده:Double torus illustration.png
از testwiki
پرش به ناوبری
پرش به جستجو
اندازهٔ این پیشنمایش: ۵۴۸ × ۵۹۹ پیکسل. کیفیتهای دیگر: ۲۱۹ × ۲۴۰ پیکسل | ۴۳۹ × ۴۸۰ پیکسل | ۹۸۵ × ۱٬۰۷۷ پیکسل.
پروندهٔ اصلی (۹۸۵ × ۱٬۰۷۷ پیکسل، اندازهٔ پرونده: ۲۶۰ کیلوبایت، نوع MIME پرونده: image/png)
این پرونده از ویکیانبار است و ممکن است توسط پروژههای دیگر هم استفاده شده باشد. توضیحات موجود در صفحهٔ توضیحات پرونده در آنجا، در زیر نشان داده شده است.
خلاصه
اجازهنامه
| Public domainPublic domainfalsefalse |
| من، دارنده حق تکثیر این اثر، این اثر را به مالکیت عمومی منتشر میکنم. این قابل اجرا در تمام نقاط جهان است. در برخی از کشورها ممکن است به صورت قانونی این امکانپذیر نباشد؛ اگر چنین است: من اجازهٔ استفاده از این اثر را برای هر مقصودی، بدون هیچگونه شرایطی میدهم، تا وقتی که این شرایط توسط قانون مستلزم نشده باشد. |
Source code
% illustration of a double torus, obtained as an isosurface
function main()
% big and small radii of the torus
R = 3; r = 1;
% c controls the transition from one ring to the other
c = 1.3*pi/2;
Kb = R+r;
h = 0.1; % h is the grid size. Smaller h means prettier picture.
X = (-Kb-h):h:(3*Kb+h); m = length(X);
Y = (-Kb-h):h:(Kb+h); n = length(Y);
Z = (-r-h):h:(r+h); k = length(Z);
W = zeros(m, n, k); % the zero level set of this function will be the desired shape
for i=1:m
for j=1:n
x = X(i); x = my_map(x, Kb, c); % map from two torii to one torus
y = Y(j);
W(i, j, :) = (sqrt(x^2+y^2)-R)^2 + Z.^2-r^2; % torus eqn, vectorize in Z
end
end
figure(4); clf; hold on; axis equal; axis off;
H = patch(isosurface(W, 0));
isonormals(W, H);
light_green=[184, 224, 98]/256;
% set some propeties
set(H, 'FaceColor', light_green, 'EdgeColor','none', 'FaceAlpha', 1);
set(H, 'SpecularColorReflectance', 0.1, 'DiffuseStrength', 0.8);
set(H, 'FaceLighting', 'phong', 'AmbientStrength', 0.3);
set(H, 'SpecularExponent', 108);
daspect([1 1 1]);
axis tight;
colormap(prism(28))
% viewing angle
view(-165, 42);
% add in a source of light
camlight (-50, 54); lighting phong;
% save as png
print('-dpng', '-r500', sprintf('Double_torus_illustration.png'));
% This function constructs the second ring in the double torus
% by mapping from the first one.
function y=my_map(x, K, c)
if x > K
x = 2*K - x;
end
if x < K-c
y = x;
else
y = (K-c) + sin((x - (K-c))*(pi/2/c));
end
عنوان
شرحی یکخطی از محتوای این فایل اضافه کنید
Illustration of a double torus
آیتمهایی که در این پرونده نمایش داده شدهاند
توصیفها
genus-two surface انگلیسی
این خصوصیت مقداری دارد اما نامشخص است.
source of file انگلیسی
original creation by uploader انگلیسی
۶ سپتامبر 2007
تاریخچهٔ پرونده
روی تاریخ/زمانها کلیک کنید تا نسخهٔ مربوط به آن هنگام را ببینید.
| تاریخ/زمان | بندانگشتی | ابعاد | کاربر | توضیح | |
|---|---|---|---|---|---|
| کنونی | ۱۲ ژوئیهٔ ۲۰۰۸، ساعت ۰۵:۳۲ | ۹۸۵ در ۱٬۰۷۷ (۲۶۰ کیلوبایت) | wikimediacommons>Oleg Alexandrov | Higher quality version, using isosurface instead of patches. Same license and all that. |
کاربرد پرونده
صفحههای زیر از این تصویر استفاده میکنند: