ファイル:Triple torus array.png

ページのコンテンツが他言語でサポートされていません。

元のファイル(1,123 × 990 ピクセル、ファイルサイズ: 250キロバイト、MIME タイプ: image/png)

解説 Illustration of a triple torus
日付 Oleg Alexandrov (talk) 23:48, 12 July 2008 (UTC)
原典 投稿者自身による著作物
 
この 図式MATLABで作成されました。
作者 Oleg Alexandrov
Public domain この著作物の著作権者である私は、この著作物における権利を放棄しパブリックドメインとします。これは全世界で適用されます。
一部の国では、これが法的に可能ではない場合があります。その場合は、次のように宣言します。
私は、あらゆる人に対して、法により必要とされている条件を除き、如何なる条件も課すことなく、あらゆる目的のためにこの著作物を使用する権利を与えます。

Source code (MATLAB)

% illustration of a triple 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:(5*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(-146, 42);

% add in a source of light
   camlight (-50, 54); lighting phong;

% save as png
  print('-dpng', '-r500', sprintf('Triple_torus_illustration.png'));
   
% This function constructs the second and third rings in the triple torus
% by mapping from the first one.
function y=my_map(x, K, c)

   if x > 2*K
      y = -my_map(4*K - x, K, c);
   else

      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
      
   end
この数学に関する画像は、ベクターイメージである SVG ファイルとして再作成されるべきです。これにはいくつかの利点があります。詳しくはCommons:Media for cleanupを参照してください。この画像の SVG 形式がすでに利用可能である場合は、アップロードしてください。アップロード後、この画像にあるこのテンプレートを{{Vector version available|新しい画像ファイル名.svg}}テンプレートで置き換えてください。

キャプション

このファイルの内容を1行で記述してください

このファイルに描写されている項目

題材

ファイルの履歴

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

日付と時刻サムネイル寸法利用者コメント
現在の版2008年7月12日 (土) 23:472008年7月12日 (土) 23:47時点における版のサムネイル1,123 × 990 (250キロバイト)Oleg Alexandrov{{Information |Description={{en|1=x}} |Source=Own work by uploader |Author=Oleg Alexandrov |Date=x |Permission=x |other_versions=x }} x {{ImageUpload|full}} Category:x

以下のページがこのファイルを使用しています:

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

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