File:Sphere with three handles.png - 维基百科,自由的百科全书

原始文件(1,308 × 1,004像素,文件大小:389 KB,MIME类型:image/png


描述 Illustration of a sphere with three handles.
日期 (UTC)
来源 self-made using MATLAB
作者 Oleg Alexandrov
 
本PNG 位图使用MATLAB创作.
Public domain 我,本作品著作权人,释出本作品至公有领域。这适用于全世界。
在一些国家这可能不合法;如果是这样的话,那么:
我无条件地授予任何人以任何目的使用本作品的权利,除非这些条件是法律规定所必需的。

Source code

% illustration of a sphere with three handles      N = 100; % make 100 or so for good picture      S = 6.0; % sphere radius      r = 1.2; % torus cross section radius    R = 2.8; % torus big radius    Shift = 6.0; % shift torus away from origin      L = max(S, 2*r+R+Shift);      L = max(Shift + 2*r+R, S);    X = linspace(-L, L, N);    Y = linspace(-L, L, N);    Z = linspace(-L, L, N);        theta = pi/2.2; % angle between handles, measured from sphere center       W = zeros(N, N, N) + 100;    Mat = [cos(theta) -sin(theta);           sin(theta) cos(theta)];      for i=1:N       i       for j=1:N          for k=1:N             x = X(i);             y = Y(j);             z = Z(k);               W(i, j, k) = x^2+y^2+z^2-S^2; % sphere               for q=0:2 % tori                V = Mat*([x, y]');                x = V(1); y = V(2);                W(i, j, k) = min(W(i, j, k), ...                                 (sqrt((x-Shift)^2+y^2)-R)^2 + z^2-r^2);             end          end       end    end        if 1==1      % smooth a bit the places where the tori meet       XM = -2:60/N:2;       sigma = 1.5;       SM = exp(-XM.^2/sigma^2);       SM = SM/sum(SM);         W = filter(SM, [1], W, [], 1);       W = filter(SM, [1], W, [], 2);       W = filter(SM, [1], W, [], 3);    end        figure(1); clf; hold on;    axis equal; axis off;      light_green=[184, 224, 98]/256; % light green        H = patch(isosurface(X, Y, Z, W, 0));    isonormals(X, Y, Z, W, H);    mycolor = light_green;      %set(H, 'FaceColor', light_green, 'EdgeColor','none', 'FaceAlpha', 1);    %set(H, 'SpecularColorReflectance', 0.9, 'DiffuseStrength', 0.8);    %set(H, 'FaceLighting', 'phong', 'AmbientStrength', 0.35);    %set(H, 'SpecularExponent', 8, 'SpecularStrength', 0.2);        set(H, 'FaceColor', mycolor, '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))    view(-50, -54);      camlight headlight;    lighting phong; %      print('-dpng',  '-zbuffer',  '-r400', sprintf('Sphere_with_three_handles%d.png', N)); 

说明

添加一行文字以描述该文件所表现的内容

此文件中描述的项目

描繪內容

文件历史

点击某个日期/时间查看对应时刻的文件。

日期/时间缩⁠略⁠图大小用户备注
当前2008年6月23日 (一) 04:282008年6月23日 (一) 04:28版本的缩略图1,308 × 1,004(389 KB)Oleg AlexandrovTweak
2008年6月23日 (一) 02:372008年6月23日 (一) 02:37版本的缩略图1,596 × 1,112(454 KB)Oleg Alexandrov{{Information |Description={{en|1=Sphere with three handles}} |Source=Own work by uploader |Author=Oleg Alexandrov |Date= |Permission=PD-self |other_versions= }} {{ImageUpload|full}}

以下页面使用本文件:

全域文件用途

以下其他wiki使用此文件: