ملف:Double torus illustration.png

محتويات الصفحة غير مدعومة بلغات أخرى.
من ويكيبيديا، الموسوعة الحرة

الملف الأصلي(985 × 1٬077 بكسل حجم الملف: 260 كيلوبايت، نوع MIME: image/png)

 
.هذا الرسم المتجهي أُنشئ بواسطة MATLAB
الوصف Illustration of en:Double torus
التاريخ (UTC)
المصدر عمل شخصي
المؤلف Oleg Alexandrov
Public domain أنا، مالِك حقوق تأليف ونشر هذا العمل، أجعله في النِّطاق العامِّ، يسري هذا في أرجاء العالم كلِّه.
في بعض البلدان، قد يكون هذا التَّرخيص غيرَ مُمكنٍ قانونيَّاً، في هذه الحالة:
أمنح الجميع حق استخدام هذا العمل لأي غرض دون أي شرط ما لم يفرض القانون شروطًا إضافية.
يُمثِّل: File:Bitorus.svg نسخةً شعاعيَّةً لهذه الصورة. ينبغي أن تستخدم الصورة الشعاعيَّة عندما تكون أعلى جودةً مِن الصورة النقطيَّة.

File:Double torus illustration.png → File:Bitorus.svg

للمزيد من المعلومات، راجع صفحة Help:SVG.

بلغات أخرى
Alemannisch  Bahasa Indonesia  Bahasa Melayu  British English  català  čeština  dansk  Deutsch  eesti  English  español  Esperanto  euskara  français  Frysk  galego  hrvatski  Ido  italiano  lietuvių  magyar  Nederlands  norsk bokmål  norsk nynorsk  occitan  Plattdüütsch  polski  português  português do Brasil  română  Scots  sicilianu  slovenčina  slovenščina  suomi  svenska  Tiếng Việt  Türkçe  vèneto  Ελληνικά  беларуская (тарашкевіца)  български  македонски  нохчийн  русский  српски / srpski  татарча/tatarça  українська  ქართული  հայերեն  বাংলা  தமிழ்  മലയാളം  ไทย  한국어  日本語  简体中文  繁體中文  עברית  العربية  فارسی  +/−
صورة SVG جديدة

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 الإنجليزية

٦ سبتمبر 2007

تاريخ الملف

اضغط على زمن/تاريخ لرؤية الملف كما بدا في هذا الزمن.

زمن/تاريخصورة مصغرةالأبعادمستخدمتعليق
حالي04:32، 12 يوليو 2008تصغير للنسخة بتاريخ 04:32، 12 يوليو 2008985 × 1٬077 (260 كيلوبايت)Oleg AlexandrovHigher quality version, using isosurface instead of patches. Same license and all that.
05:49، 6 سبتمبر 2007تصغير للنسخة بتاريخ 05:49، 6 سبتمبر 20071٬176 × 1٬240 (350 كيلوبايت)Oleg Alexandrov{{Information |Description= |Source=self-made |Date=Illustration of en:Double torus |Author= Oleg Alexandrov }} {{PD-self}} Category:Differential geometry Category:Files by User:Oleg Alexandrov from en.wikipedia

الصفحة التالية تستخدم هذا الملف:

الاستخدام العالمي للملف

الويكيات الأخرى التالية تستخدم هذا الملف:

اعرض المزيد من الاستخدام العام لهذا الملف.