File:Double torus illustration.png
From Wikimedia Commons, the free media repository
Jump to navigation
Jump to search
Size of this preview: 548 × 599 pixels. Other resolutions: 219 × 240 pixels | 439 × 480 pixels | 985 × 1,077 pixels.
Original file (985 × 1,077 pixels, file size: 260 KB, MIME type: image/png)
File information
Structured data
Captions
This diagram was created with MATLAB.
DescriptionDouble torus illustration.png | Illustration of en:Double torus |
Date | (UTC) |
Source | Own work |
Author | Oleg Alexandrov |
Public domainPublic domainfalsefalse |
I, the copyright holder of this work, release this work into the public domain. This applies worldwide. In some countries this may not be legally possible; if so: I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law. |
File:Bitorus.svg is a vector version of this file. It should be used in place of this PNG file when not inferior.
File:Double torus illustration.png → File:Bitorus.svg
For more information, see Help:SVG.
|
Source code
[edit]% 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
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 04:32, 12 July 2008 | 985 × 1,077 (260 KB) | Oleg Alexandrov (talk | contribs) | Higher quality version, using isosurface instead of patches. Same license and all that. | |
05:49, 6 September 2007 | 1,176 × 1,240 (350 KB) | Oleg Alexandrov (talk | contribs) | {{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 |
You cannot overwrite this file.
File usage on Commons
The following 2 pages use this file:
File usage on other wikis
The following other wikis use this file:
- Usage on ar.wikipedia.org
- Usage on ca.wikipedia.org
- Usage on cs.wikipedia.org
- Usage on cv.wikipedia.org
- Usage on de.wikipedia.org
- Usage on de.wikiversity.org
- Kurs:Algebraische Kurven (Osnabrück 2008)/Vorlesung 28
- Kurs:Topologie (Osnabrück 2008-2009)/Vorlesung 19
- Topologie/Theorie der Fundamentalgruppe/Seifert-van Kampen/Orientierbare Flächen/Beispiel
- Kurs:Algebraische Kurven (Osnabrück 2012)/Vorlesung 28
- Kurs:Algebraische Kurven (Osnabrück 2017-2018)/Vorlesung 28
- Kurs:Algebraische Kurven (Osnabrück 2017-2018)/Vorlesung 28/kontrolle
- Glatte projektive Kurve/Geschlecht/Textabschnitt
- Kurs:Bündel, Garben und Kohomologie (Osnabrück 2019-2020)/Vorlesung 29
- Kurs:Bündel, Garben und Kohomologie (Osnabrück 2019-2020)/Vorlesung 29/kontrolle
- Kurs:Elliptische Kurven (Osnabrück 2021-2022)/Vorlesung 17
- Kurs:Elliptische Kurven (Osnabrück 2021-2022)/Vorlesung 17/kontrolle
- Riemannsche Fläche/Kompakt/Topologisches Geschlecht/Triangulierung/Übersicht/Textabschnitt
- Kurs:Riemannsche Flächen (Osnabrück 2022)/Vorlesung 32
- Kurs:Riemannsche Flächen (Osnabrück 2022)/Vorlesung 32/kontrolle
- Usage on el.wikipedia.org
- Usage on en.wikipedia.org
- Usage on eo.wikipedia.org
- Usage on es.wikipedia.org
- Usage on eu.wikipedia.org
- Usage on fa.wikipedia.org
View more global usage of this file.