Tikz oder PSTricks: Rechteck --> Torus

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Tikz oder PSTricks: Rechteck --> Torus

von BlackDevil » Mo 12. Mai 2014, 17:24

So, nachdem ich von dem Kollegen nichts mehr höre versuch ich es hier weiter :roll: Danke schon mal für den Support :D

Der Torus gefällt mir eigentlich ganz gut:

Edit: CODE GELÖSCHT, UPDATE UNTEN

Ich bekomme es aber weder hin den Torus einfarbig (schwarze Rahmenlinien und weiße Füllung) zu gestalten oder irgendwo anders hin zu schieben. Darüberhinaus habe ich eine Animation gefunden die mein vorhaben darstellt:

Bild
Quelle: http://mathematica.stackexchange.com/qu ... to-a-torus

Das zeigt Problem zwei: Irgendwie sollte das Rechteck, der Zylinder und der Torus aus dem selben Gitter bestehen :?

Danke Feuersänger. Und Respekt für die Arbeit die du mit dem Paket gehabt haben musst :)


Edit: Update

Ich bin nun drauf gekommen, das ich die Grafiken am einfachsten mit der Grupplot Umgebung platzieren kann. Das klappt soweit so gut:
\documentclass{standalone} 

\usepackage{pgfplots} 
\usetikzlibrary{pgfplots.groupplots}

\begin{document} 
\pgfplotsset{ 
   hide axis,
   colormap/blackwhite,
   % 
   % allow \draw ... instructions inside of an axis to leave the 
   % outline of the axis: 
   clip=false, 
} 
\pgfplotsset{ 
   hide axis,
   colormap/cool,
   % 
   % allow \draw ... instructions inside of an axis to leave the 
   % outline of the axis: 
   clip=false, 
} 
\begin{tikzpicture} 
\begin{groupplot}[
    group style={
        group name=my plots,
        group size=3 by 1,
        ylabels at=edge left
    },
    footnotesize,
    width=5cm,
    height=4cm,
    tickpos=left,
    ytick align=outside,
    xtick align=outside,
    enlarge x limits=false,
	domain=-10:10    
]
% Lattice
\nextgroupplot
%	\draw[step=1.0,black] ({axis cs:-2,-2}) grid ({axis cs:5,5});

% Cylinder
\nextgroupplot
  \addplot3[ 
         surf, 
      samples=20, 
      %samples y=31, 
      domain=1:5, 
      y domain=0:2*pi, 
      z buffer=sort, 
      variable=\u,variable y=\v, 
      point meta=v, 
   ] 
         ({1*cos(deg(v))},{1*sin(deg(v))},{u}); 

% Torus
\nextgroupplot
     \addplot3[ 
     	surf,
         samples=20, 
         domain=0:2*pi, 
         y domain=0:2*pi, 
         z buffer=sort, 
       variable=\u,variable y=\v, 
       point meta=v, 
       ] 
       ( {(1+0.5*cos(deg(u)))*cos(deg(v+pi))}, 
         {(1+0.5*cos(deg(u)))*sin(deg(v+pi))}, 
         {0.5*sin(deg(u))} 
       ); 
       \end{groupplot}
       
\draw [draw,thick,step=0.5cm] (0,0) node (v1) {} grid (3,2);
%\draw [thick,bend angle=-45, bend left] (0,1.5) to (-0.5,1.5) to (1.5,0) to (3.5,1.5) to (3,1.5);

%\draw [thick,bend angle=-45, bend left] (6,2) to (4.5,2) to (4.5,0) to (6,0.2);

\node at (-0.5,1.5) {A};
\node at (-0.5,0) {B};
\node at (3.5,1.5) {C};
\node at (3.5,0) {D};

\end{tikzpicture} 
\end{document}
Was nun fehlt ist:
- Das ganze soll einfach nur einfarbig Schwarz/Weiß sein
- Die Anzahl Knoten/die Gittergröße sollte immer gleich sein
- Die Tikz Pfeile und das Gitter müssen irgendwie als "Overlay" da rein. Ich habe zwar gesehen, dass man das wohl einfach zum "\nextgroupplot" dazupackt, aber Tikzedt meckert am Doppelpunkt bei axis cs:
- Der Blickwinkel dürfte gerne von etwas weiter oben sein ...

Edit: Ich habe noch eine neue Version Code angehängt. Das ist ja ganz nett, aber irgendwie sieht es nach nix aus ... hat jemand einen Vorschlag? Ansonsten lass ichs dann doch weg ...

von BlackDevil » Mo 12. Mai 2014, 09:21

Danke :) Das geht auf jeden Fall schon mal in eine richtige Richtung. Kann ich die Plots irgendwie in ein Tikz-Bild packen? Ich habe gelesen das soll über node gehen, funktioniert aber nicht .... ich habe auch parallel eventuell die Möglichkeit gefunden die Körper einfach per 3D Programm zu erstellen und einzufügen ...

von feuersaenger » So 11. Mai 2014, 18:33

Hi,

basierend auf Deinem Anfang habe ich kurz vor dem Abendessen mal was rumgebastelt. Zu den Pfeilchen bin ich noch nicht gekommen, aber vielleicht findest Du ja die Farbkodierung auch inspirierend (obwohl weder gefragt noch komplett konsistent gemacht).

Die Pfeilchen und so kannst Du einfach innerhalb von \begin{axis} ... \end{axis} eintragen - mit der Sonderbehandlung, dass jede Koordinate im "axis cs" angegeben werden muss (vgl. das unterste Bild, da ist mal so eine drin).
\documentclass{standalone}

\usepackage{pgfplots}

\pgfplotsset{compat=1.9}

\begin{document}

% options for all following plots:
\pgfplotsset{
	hide axis,
	colormap/cool,
	%
	% allow \draw ... instructions inside of an axis to leave the
	% outline of the axis:
	clip=false,
}

\begin{tikzpicture}
  \begin{axis}[
  	axis equal,view={0}{90},
  ]
     \addplot3[
         surf,
         samples=13,
		 point meta=y,
       ]
	   {1};
  \end{axis}
\end{tikzpicture}
\begin{tikzpicture}
  \begin{axis}[
  	axis equal,
  ]
  \addplot3[
	   	surf,
		samples=20,
		%samples y=31,
		domain=1:5,
		y domain=0:2*pi,
		z buffer=sort,
		variable=\u,variable y=\v,
		point meta=v,
	] 
	   	({4*cos(deg(v))},{4*sin(deg(v))},{u});
\end{axis}
\end{tikzpicture}
\begin{tikzpicture}
  \begin{axis}[
  	axis equal,
  ]
     \addplot3[
         surf,
         samples=20,
         domain=0:2*pi,
         y domain=pi/2:2.5*pi,
         z buffer=sort,
		 variable=\u,variable y=\v,
		 point meta=v,
       ]
       ( {(0.5+2+cos(deg(u)))*cos(deg(v+pi))},
         {(0.5+2+cos(deg(u)))*sin(deg(v+pi))},
         {sin(deg(u))}
       );

	   \draw (axis cs:0,-2,0) circle(2pt);
  \end{axis}
\end{tikzpicture}

\end{document}
Bild
Dateianhänge
torus.png
torus.png (45.38 KiB) 3131 mal betrachtet

von BlackDevil » So 11. Mai 2014, 12:42

So, naja ... so richtig klappen will das nicht.
\documentclass{article}
\usepackage{tikz,amsmath, amssymb,bm,color}
\usepackage[margin=0cm,nohead]{geometry}
\usepackage{pgfplots}
\usepackage[active,tightpage]{preview}
\usetikzlibrary{shapes,arrows}
% needed for BB
\usetikzlibrary{calc}

\begin{document}
\begin{tikzpicture}
\node [circle, fill=black] (0,0) {};
% 	\begin{axis}[at={(0,-10)}]
%         \addplot3[surf,samples=25,samples y=31,domain=0:1*pi,y domain=0:2*pi] ({4*cos(deg(y))},{4*sin(deg(y))},{x});
%     \end{axis}
    
  \begin{axis}
     \addplot3[
         surf,
         colormap/cool,
         samples=20,
         domain=0:2*pi,
         y domain=0:2*pi,
         z buffer=sort
       ]
       ( {(0.5+1+cos(deg(x)))*cos(deg(y+pi))}, 
         {(0.5+1+cos(deg(x)))*sin(deg(y+pi))}, 
         {sin(deg(x))}
       );
  \end{axis}
\end{tikzpicture}
\end{document}
Den Code hab ich so aus Tikzedt rausgezogen.

Nun gibt es folgende Probleme:
- Der Torus sieht arg ugly aus ... Edit: die modifizierte Version ist hübscher aber noch etwas wulstig
- Ich bekomme es nicht hin die Umgebungen zu verschieben ...
- Gut, dass das Ganze so bunt ist und man das Koordinatensystem sieht wird eine Einstellungssache sein :)

Aber es ist mal ein Anfang :D

von BlackDevil » Sa 10. Mai 2014, 19:27

Der Zylinder gefällt mir gut, ebenso der Ansatz das ganze zu plotten :D

Auf Basis dessen könnte ich versuchen einen Torus zu erstellen. Ich hoffe nur ich brauch dafür nicht all zu lange :oops:

Danke. Ich melde mich dann mit Ergebnissen

von feuersaenger » Sa 10. Mai 2014, 19:19

Hallo,

Teilaufgaben davon wurden in anderen Foren auch schonmal gestellt, so z.B. unter

https://tex.stackexchange.com/questions ... 171#162171

https://tex.stackexchange.com/questions ... using-tikz

Vielleicht kommst Du damit schon weiter? Immerhin basieren diese plots auf surface plots, d.h. auf Matrixartigen input daten, die lediglich geeignet in X und Y angepasst sind.

Die Pfeilchen / text nodes kann man auch dazu plazieren.

Gruss

Christian

Tikz oder PSTricks: Rechteck --> Torus

von BlackDevil » Sa 10. Mai 2014, 18:08

Hallo Zusammen,

ich möchte meiner Arbeit eine Grafik verpassen, einfach weil es den Text sehr gut Unterstützt.

Folgendes zur Vorstellung:
Man nehme ein rechteckiges Gitter, zum Beispiel der Größe 5x10. Die Ecken dieses Gitters sollen mit den Buchstaben A bis D versehen werden. Darüberhinaus soll ein Pfeil von einer Seite zur anderen zeigen. Nun nimmt man das Gitter und faltet die Seite AC auf die Seite BD und erhält einen Zylinder. Die Buchstaben A, B, C und D sind entsprechend vermerkt, das Gitter weiterhin zu sehen. Ein Pfeil kommt oben zentriert aus dem Zylinder raus und und zeigt auf der Unterseitze, zwischen C und D, auf das Zentrum. Im dritten Bild sind die beiden Kanten des Zylinders, AB und CD, aufeinander gefaltet und man erhält einen Torus.

Pfuach :shock: Hier noch mal als Bild:
Bild

Ich arbeite, wenn ich Grafiken mit Tikz erstelle, mit dem Programm Tikzedt. Das geht einfach schneller als ständig neu zu kompilieren. Nun finde ich aber nur Workarounds zum Thema Zylinder und Torus. Und PSTricks bekomme ich nicht ordentlich ans laufen... Tikz läuft aber.

Meine Frage nun: Kann mir jemand mit der Grafik auf die Sprünge helfen? Am liebsten wäre mir Tikz, aber ich vermute, dass der Zylinder und der Torus nur mit Workarounds möglich sind, oder? Und mit PSTricks habe ich 0 Erfahrungen ...


Danke im Voraus und Grüße

Nach oben