msthab
06-10-2017, 08:23
Hallo,
ich möchte gerne die Funktion -1/r (in 3D Polarkoordinaten) darstellen.
In Anlehnung an dem Beispiel auf Seite 141 im PGFPLOT Manual habe ich dazu unten stehen Code geschrieben (Umwandlung x,y im Polarkoordinaten usw).
Die Grafik wird auch fast richtig dargestellt, aber es fehlt ein Stück (siehe jpg-Files)
Bei der Fehlersuche ist mir aufgefallen, dass dies auch bei anderen Funktionen, die im negativen z-Bereich liegen passiert (z.B. f(r)=-r). Bei positiven Funktionen tritt der Fehler nicht auf. Hat jemand eine Erklärung?
Vielen Dank!
\documentclass[10pt,ngerman,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[a4paper]{geometry}
\geometry{verbose,tmargin=2cm,bmargin=3cm,lmargin= 2cm,rmargin=2cm,footskip=1cm}
\setlength{\parskip}{\smallskipamount}
\setlength{\parindent}{0pt}
\usepackage{units}
%--------------------------------------------------------------------------------------------------------------
\usepackage{pgfplots}
\pgfplotsset{compat=1.15} % komptibilitätseinstellung
\usepackage{lmodern} % Notwendig fuer gute Schriften (nicht verpixelt)
%------------------------------------------------------------------------------------
\begin{document}
\begin{tikzpicture}
\begin{axis}[
% clip=true,
width=20cm,
height=20cm,
xtick=\empty,
ytick=\empty,
ztick=\empty,
% xlabel={$x$}, ylabel={$y$}, zlabel={$E_{\mathrm{pot}}$},
axis lines=center,
axis on top,
% xmin=-1.8, xmax=2.3,
% ymin=-1.8, ymax=2,
samples=10,
samples y=40,
domain=0.2:1.7, % Ist in Polarkoordinaten eigentlich der Radius
y domain=0:360, % Ist in Polarkoordinaten eigentlich der Winkel
enlarge z limits={value=0.7,upper}, % Längere Z-Achse nach oben
% z label style={at={(ticklabel* cs:1.01)}, anchor=south, }, %Achsenbeschriftung aussen
% x label style={at={(ticklabel* cs:1.01)}, anchor=west, }, %Achsenbeschriftung aussen
% y label style={at={(ticklabel* cs:1.01)}, anchor=west, }, %Achsenbeschriftung aussen
colormap/blackwhite,
]
\addplot3 [surf] ({x*cos(y)},{x*sin(y)},{-1/x}); % Gibt Problem
%
%\addplot3 [surf] ({x*cos(y)},{x*sin(y)},{-x}); % Gibt auch Problem
% \addplot3 [surf] ({x*cos(y)},{x*sin(y)},{x}); % Gibt kein Problem
\end{axis}
\end{tikzpicture}
\end{document}
62446245
ich möchte gerne die Funktion -1/r (in 3D Polarkoordinaten) darstellen.
In Anlehnung an dem Beispiel auf Seite 141 im PGFPLOT Manual habe ich dazu unten stehen Code geschrieben (Umwandlung x,y im Polarkoordinaten usw).
Die Grafik wird auch fast richtig dargestellt, aber es fehlt ein Stück (siehe jpg-Files)
Bei der Fehlersuche ist mir aufgefallen, dass dies auch bei anderen Funktionen, die im negativen z-Bereich liegen passiert (z.B. f(r)=-r). Bei positiven Funktionen tritt der Fehler nicht auf. Hat jemand eine Erklärung?
Vielen Dank!
\documentclass[10pt,ngerman,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[a4paper]{geometry}
\geometry{verbose,tmargin=2cm,bmargin=3cm,lmargin= 2cm,rmargin=2cm,footskip=1cm}
\setlength{\parskip}{\smallskipamount}
\setlength{\parindent}{0pt}
\usepackage{units}
%--------------------------------------------------------------------------------------------------------------
\usepackage{pgfplots}
\pgfplotsset{compat=1.15} % komptibilitätseinstellung
\usepackage{lmodern} % Notwendig fuer gute Schriften (nicht verpixelt)
%------------------------------------------------------------------------------------
\begin{document}
\begin{tikzpicture}
\begin{axis}[
% clip=true,
width=20cm,
height=20cm,
xtick=\empty,
ytick=\empty,
ztick=\empty,
% xlabel={$x$}, ylabel={$y$}, zlabel={$E_{\mathrm{pot}}$},
axis lines=center,
axis on top,
% xmin=-1.8, xmax=2.3,
% ymin=-1.8, ymax=2,
samples=10,
samples y=40,
domain=0.2:1.7, % Ist in Polarkoordinaten eigentlich der Radius
y domain=0:360, % Ist in Polarkoordinaten eigentlich der Winkel
enlarge z limits={value=0.7,upper}, % Längere Z-Achse nach oben
% z label style={at={(ticklabel* cs:1.01)}, anchor=south, }, %Achsenbeschriftung aussen
% x label style={at={(ticklabel* cs:1.01)}, anchor=west, }, %Achsenbeschriftung aussen
% y label style={at={(ticklabel* cs:1.01)}, anchor=west, }, %Achsenbeschriftung aussen
colormap/blackwhite,
]
\addplot3 [surf] ({x*cos(y)},{x*sin(y)},{-1/x}); % Gibt Problem
%
%\addplot3 [surf] ({x*cos(y)},{x*sin(y)},{-x}); % Gibt auch Problem
% \addplot3 [surf] ({x*cos(y)},{x*sin(y)},{x}); % Gibt kein Problem
\end{axis}
\end{tikzpicture}
\end{document}
62446245