tikz - Ausrichtung scope und axis

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 - Ausrichtung scope und axis

von dralban » Sa 2. Apr 2016, 11:56

Hab eine Lösung über 2D-Scope-Umgebungen innerhalb der axis gefunden.

Kapier ein paar Sachen nicht - z.B. warum der Kreis ( \draw[black,fill=blue!20,opacity=0.7] (-1,-1) circle (1); ) bei -1,-1 liegt, aber es läuft.

Gruß

\documentclass[a4paper,12pt,twoside,halfparskip,openright,cleardoubleempty,bibtotoc,liststotoc,tablecaptionabove]{scrreprt} 
\usepackage{ngerman} 
\usepackage[utf8]{inputenc} 
\usepackage[pdftex]{graphicx} 
\usepackage{hyperref} 
\usepackage{amsmath} 
\usepackage{amssymb} 
\usepackage{tikz} 
\usepackage{tikz-3dplot} 
\usepackage{pgfplots} 
\pgfplotsset{compat=newest} 

\begin{document} 

\begin{figure}
		\begin{tikzpicture}[scale=2.5]%[tdplot_main_coords] 
			\coordinate (coosys0) at (0,0,0); 
			
			\begin{axis}[
			height=6cm,width=8cm,
			xlabel=$x$,ylabel=$y$,
			anchor=origin,
			axis equal, 
			axis lines=none,	 
			domain=0:-1, 
			y domain=0:2*pi, 
			z buffer=sort, 
			samples=10, samples y=50] 
			
			%\draw plot [mark=*, mark size=1] coordinates{(0,0,-1)};	
			
			\pgfplotsforeachungrouped \i in {-1.125,-0.875,...,1.125}{ 
				\edef\temp{\noexpand\draw[black!70,thin] (\i,-1.2,-1) -- (\i,1.2,-1);} 
				\temp 
			};
			
			\pgfplotsforeachungrouped \i in {-1.125,-0.875,...,1.125}{ 
				\edef\temp{\noexpand\draw[black!70,thin] (-1.2,\i,-1) -- (1.2,\i,-1);} 
				\temp 
			};
			
			\begin{scope}[canvas is xy plane at z=-1] 
			\draw[black,fill=blue!20,opacity=0.7] (-1,-1) circle (1);
			\draw[black,fill=black] (-1,-1) circle (0.05);
			\end{scope}
			
			\draw[dashed] (0,0,-1) -- (0,0,0);
			
			\addplot3[surf,shader=interp,opacity=0.05,colormap={custom}{color(0)=(blue!20) color(1)=(blue!100)},opacity=0.8] 
			({x*cos(deg(y))},{x*sin(deg(y))},{x});
			%\draw plot [mark=*, mark size=1] coordinates{(0,0,0)};
			\end{axis}
		\end{tikzpicture}
\end{figure}

\end{document}

von dralban » Do 31. Mär 2016, 16:30

Ok, jetzt ist der Beitrag wirklich editiert.
Sorry, irgendwie "aktivieren" gelesen statt "deaktivieren"

von Besserwisser » Mi 30. Mär 2016, 21:10

Bitte editiere deinen Beitrag und entferne dabei den Haken bei "BBCode in diesem Beitrag deaktivieren", damit der Code korrekt angezeigt werden kann.

Und wenn du tikz-3dplot verwendest, warum lädst du es dann nicht mit \usepakche{tikz-3dplot}, sondern mit \usepackage{3dplot}? Ein Paket 3dplot kann ich jedenfalls unter dem von dir angegebenen Link nicht finden. Das Paket tikz-3dplot wäre hingegen sogar Bestandteil von MiKTeX und TeX-Live.

Übrigens solltest du utf8x nur verwenden, wenn utf8 wirklich nicht genügt. Du ersparst dir damit ggf. Probleme mit anderen Paketen.

tikz - Ausrichtung scope und axis

von dralban » Mi 30. Mär 2016, 20:17

Hallo zusammen!
Vielen Dank für die Aufnahme und vielen Dank für viel indirekte Hilfe, die ich mir bis jetzt aus dem Forum geholt habe.

Für mein aktuelles, nicht ganz triviales, Problem hab ich aber leider keine Antwort gefunden.

Ich würde gerne im dreidimensionalen ein Netz zeichnen auf dem ein Zylinder sitzt.

Der Zylinder ist vorhanden, das Netz ist auch vorhanden.
Leider hapert es an der Ausrichtung zueinander. Ich kapier irgendwie nicht warum der in der "axis"-Umgebung gezeichnete Zylinder nicht zum Netz passt, das in der "Scope"-Umgebung gezeichnet wurde.
Hauptsächlich stellen sich mir folgende Fragen:
- Warum passt die Sicht bzw. die Ausrichtung der Koordinatensysteme von scope und axis nicht zusammen?
- Wie kann ich die Spitze des Kegels auf den vorbereiteten Marker setzen?
- Warum passt die Drehung der Koordinatensysteme über "tdplot_main_coords" des tikzpicture und über view=... der axis-Umgebung nicht zusammen?
- Kann ich die sehr gewöhnungsbedürftige Angabe mit Drehung um x-und z-Achse bei tdplot_main_coords ändern?

Fragen über Fragen :?: :?:

Vielleicht kann der Eine oder Andere ja eine davon beantworte!?
Vielen vielen Dank schon mal!!!

EDIT:
Doppelten Dank Besserwisser!
- der Header kam aus dem Online-Editor. Habe die Zeilen aus meinem Header eingefügt)
- Keine Ahnung wie ich auf 3dplot statt tikz-3dplot komme. Verwende das zum ersten Mal. Mich wunderts nur, dass es überhaupt funktioniert hat
\documentclass[a4paper,12pt,twoside,halfparskip,openright,cleardoubleempty,bibtotoc,liststotoc,tablecaptionabove]{scrreprt}
\usepackage{ngerman}
\usepackage[utf8]{inputenc}
\usepackage[pdftex]{graphicx}
\usepackage{hyperref}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{tikz}
\usepackage{tikz-3dplot}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}

\begin{document}

\begin{figure}
% rotation around x and around z
\tdplotsetmaincoords{15}{0}	
\begin{tikzpicture}%[tdplot_main_coords]
	\coordinate (coosys0) at (0,0,0);
	
	\def\uh{0.15}
	\def\xmax{6.5}
	\def\ymax{6.5}
	\def\h{4}
	\def\r{2}
		
	\begin{scope}[canvas is xz plane at y=0]
		\draw[black,fill=black!10] (\xmax/2,\ymax/2) circle (\r);
		\draw[fill=black!50] (\xmax/2-0.25,\ymax/2-0.25) rectangle ++(0.5,0.5); 
		
		\foreach \i in {0.,0.5,...,\xmax} {
			\draw[black!70] (\i,-\uh) -- (\i,\ymax+\uh);
		}
		\foreach \i in {0.,0.5,...,\ymax} {
			\draw[black!70] (0-\uh,\i) -- (\xmax+\uh,\i);
		}
		\draw[fill=black] (\xmax/2,\ymax/2) circle (1pt);
	\end{scope}
	
	\draw plot [mark=*, mark size=2] coordinates{(\xmax/2,\h,\ymax/2)};
	\draw[dashed] (\xmax/2,\h,\ymax/2) -- (\xmax/2,0,\ymax/2);
	
	\begin{axis}[
	%anchor=origin,
	%view={30}{15},
	axis lines=none,
	domain=0:-1,
	y domain=0:2*pi, 
	z buffer=sort,
	colormap={custom}{color(0)=(black!50) color(1)=(black!50)},
	opacity=0.3,
	samples=10, samples y=50]

	\addplot3[surf,shader=interp,semitransparent] 
	({x*cos(deg(y))},{x*sin(deg(y))},{x});

	\end{axis}
	
\end{tikzpicture}
\end{figure}
\end{document}
Dateianhänge
latex_cone_grid.png
latex_cone_grid.png (8.46 KiB) 1615 mal betrachtet

Nach oben