3D Kugel erstellen

Neue Frage »

Gast11022013 Auf diesen Beitrag antworten »
3D Kugel erstellen
Meine Frage:
Hallo, ich benötige für meine Bachelorarbeit eine 3D-Grafik einer Kugel, ähnlich zu dieser hier

http://de.wikipedia.org/w/index.php?title=Datei:Sphericalcoordinates.svg&filetimestamp=20120109185151

nur, dass ich wie folgt parametrisiere:








In der Grafik sollte man, wenn möglich, auch die Vektoren/ Winkel sehen.

Weiß jemand, wie ich das einfach umsetzen kann, ich habe keine großen Kenntnisse und weiß daher grad gar nicht, wie ich das angehen soll. Es wäre gut, wenn ich mich nicht zu lange erst in was einarbeiten müsste.

Meine Ideen:
Ich dachte zuerst an Matlab, aber da habe ich minimale Kenntnisse.
IfindU Auf diesen Beitrag antworten »
RE: 3D Kugel erstellen
Wenn du bereit wärst dich in Tikz einzuarbeiten, hast du hier ein schönes Beispiel was damit möglich ist.

http://www.texample.net/tikz/examples/sp...artesian-grids/
Gast11022013 Auf diesen Beitrag antworten »
RE: 3D Kugel erstellen
Cool, hast Du eine gute Seite?

(Einigermaßen verständlich?)
IfindU Auf diesen Beitrag antworten »
RE: 3D Kugel erstellen
http://www.ctan.org/tex-archive/graphics...f/pgfmanual.pdf

Das offizielle Handbuch zu TikZ. Ein besseres Handbuch habe ich noch nicht gesehen. [Auch wenn du wohl nicht alles durcharbeiten solltest, sondern nur den Anfang um zu wissen wie es grob arbeitet und dann zu den Sektionen springen, die du bräuchtest.]
Gast11022013 Auf diesen Beitrag antworten »
RE: 3D Kugel erstellen
Puh, ist das umfangreich.


Ich glaub ehrlich gesagt nicht, dass ich da so eine Darstellung in einer brauchbaren Zeit hinbekomme. verwirrt
Airblader Auf diesen Beitrag antworten »

Bei dem von IfindU verlinkten Beispiel in seiner ersten Antwort ist der Quelltext doch dabei -- einen großen Teil kannst du also kopieren und leicht modifizieren?

air
 
 
Gast11022013 Auf diesen Beitrag antworten »

Ja, im Grunde schon.

Aber das ist leichter gesagt, als getan. Denn den Quelltext muss man ja auch erstmal verstehen. Und dann muss man noch wissen, an welchen Stellen man modifizieren muss.



Ich finde es schon sehr interessant, was man da alles machen kann und werde mich sicherlich auch damit befassen, weil man das bestimmt oft genug brauchen kann.

Aber da ich nicht mehr so viel Zeit habe, werde ich wohl doch auf ein Internet-Bildchen zurückgreifen und das einfügen. Big Laugh

So aufwändig hatte ich mir das Ganze nicht vorgestellt.
IfindU Auf diesen Beitrag antworten »

Ich denke in dem Bild sind es auch die Details, die das ganze so Code-aufwendig machen.

Hab mal bisschen im Code geguckt, und hier sieht man wie die "Details" ziemlich schwierig umzusetzen sind.

[attach]25593[/attach]
Gast11022013 Auf diesen Beitrag antworten »

Also danke für die Mühe!

Im Grunde würde es ja nun schon reichen, wenn ich in die untere Kugel die Winkel und Vektoren für einen Oberflächenpunkt einzeichnen könnte.

Es geht mir ja nur darum zu veranschaulichen, wie ein Punkt parametrisiert ist.


Kann man das einfach umsetzen?
IfindU Auf diesen Beitrag antworten »

Hab ein bisschen mit TiKZ rumgespielt, habe selbst nicht besonders viel Übung darin. Habe aber mal die xz-Achsen eingemalt und einen Punkt auf dem Rand einer Kugel und ihn noch mit 2 Linien mit dem Ursprung verbunden. Der Code dazu ist rechts. Generell ist jeder Draw Befehl dafür da eine Linie zu zeichnen.
[attach]25594[/attach]
Airblader Auf diesen Beitrag antworten »

Im Notfall frage ich einen Freund von mir. Der ist ein regelrechter tikz-Freak und erzeugt damit sogar Animationen... diese 3D-Spielereien sind für ihn ein Klacks. Augenzwinkern

air
Gast11022013 Auf diesen Beitrag antworten »

Am liebsten würde ich jetzt schon den Notfall ausrufen, wenn ich das höre. Big Laugh
Airblader Auf diesen Beitrag antworten »

Ich habe ihn mal angeschrieben, ob er sich hier melden kann. Wir sehen dann ja, ob er Zeit und Lust hat. smile

air
Gast11022013 Auf diesen Beitrag antworten »

Oh, vielen Dank!
Annatar Auf diesen Beitrag antworten »
TikZ-Sphere
Hallo, ich bin der Freund vom Airblader.
Im Anhang ein Entwurf. Wenns so passt, kommt der zugehörige TikZ-Code sogleich.

Gruß, Annatar
Annatar Auf diesen Beitrag antworten »
RE: TikZ-Sphere
Im Anhang der kommentierte Minimal-Code zur Sphäre.
Gast11022013 Auf diesen Beitrag antworten »

wäre dann mein Längengrad, und der Breitengrad.

Super! 1000 Dank!!




Wäre es möglich, den Längengrad mit und den Breitengrad mit zu bezeichnen? Denn dann käme es sogar mit meiner Notation noch hin.
Annatar Auf diesen Beitrag antworten »

die Beschriftung kannst du nach Belieben ändern. Du findest sie zwischen den Dollars Augenzwinkern
Gast11022013 Auf diesen Beitrag antworten »

Das kriege ich hin.

Nochmal 1000 Dank, das ist wirklich sehr, sehr nett.
Gast11022013 Auf diesen Beitrag antworten »

Wie macht man sowas in einer Bachelorarbeit kenntlich?

Also dass man die Abbildung freundlicherweise hat erstellt bekommen?

(Ich will mich auf keinen Fall mit fremden Federn schmücken und mich dem Verdacht aussetzen, dass ich klaue.)
Annatar Auf diesen Beitrag antworten »
TikZ-Sphere
Du fügst ja nicht die fertige Grafik ein (sowas müsste man wohl kennzeichnen) sondern das Code-Fragment. Den Code hättest du dir auch aus der Dokumentation zusammenstückeln können und ich wüsste nicht, wie man technischen Support spezifisch kennzeichnen könnte.
Annatar Auf diesen Beitrag antworten »
RE: TikZ-Sphere
...Daher stelle ich den Sphere-Code zur freien Verwendung und Veränderung zur Verfügung.
Gast11022013 Auf diesen Beitrag antworten »

Entschuldige, wenn ich nochmal etwas nachfrage.

Ist auch ein Untertitel unter der Grafik möglich?
Airblader Auf diesen Beitrag antworten »

Das machst du, wenn du den Code in die figure-Umgebung einfügst -- hat mit tikZ also nichts zu tun.

code:
1:
2:
3:
4:
5:
6:
7:
\begin{figure}[!htbp]
\centering
\begin{tikzpicture}
[...]
\end{tikzpicture}
\caption[Unterschrift fürs Verzeichnis]{Angezeigte Unterschrift}\label{fig:meineGrafik}
\end{figure}


air
Gast11022013 Auf diesen Beitrag antworten »

Danke, hat wunderbar funktioniert.

Für mich ist dieser Thread damit beendet.


Annatar & Airblader: Gott
Gast11022013 Auf diesen Beitrag antworten »

Hallo, ich möchte nicht unverschämt sein, aber wäre es wohl möglich noch eine Kugel zu bekommen, in der Längen und Breitengerade eingezeichnet sind?


Wenn nicht, kein Problem. :-)
Annatar Auf diesen Beitrag antworten »

Folgendes Code-Fragment ist kurz vor \end{scope} einzufügen und zeichnet ganz viele Längen- und Breitenkreise in die bestehende Grafik ein. Besonders übersichtlich ist das Ergebnis allerdings nicht xD.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
\foreach\laengengrad in {0,20,...,340}{ 
\tdplotsetthetaplanecoords{\laengengrad} 
\tdplotdrawarc[thin,tdplot_rotated_coords]{(0,0,0)}{\radius}{0}{360}{}{}   
}   

\foreach\breitengrad in {-60,-30,0,30,60}{
\pgfmathsetmacro{\breitenkreisradius}{\radius*cos(\breitengrad)}
\pgfmathsetmacro{\hoehe}{\radius*sin(\breitengrad)}
\tdplotdrawarc[thin]{(0,0,\hoehe)}{\breitenkreisradius}{0}{360}{}{}          
}


\foreach leitet eine gewöhnliche for-schleife ein, die restlichen Befehle kennst du schon.
Gast11022013 Auf diesen Beitrag antworten »

Zitat:
Original von IfindU
Ich denke in dem Bild sind es auch die Details, die das ganze so Code-aufwendig machen.

Hab mal bisschen im Code geguckt, und hier sieht man wie die "Details" ziemlich schwierig umzusetzen sind.

[attach]25593[/attach]



Also ich möchte gerne den oberen Ball haben (Längen- und Breitengrade) und habe dazu Folgendes. TeX-Maker zeigt aber an, dass in der ersten Linie ein Fehler sei:

code:
1:
File ended while scanning use of \@xargdef.<inserted text>\par<> suspect you have forgotten a '}'



Sieht jemand, wo da der Fehler ist? Ich leider nicht.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
\documentclass[12pt]{article}
\usepackage{tikz}
\usetikzlibrary{positioning}

\newcommand\pgfmathsinandcos[3]{%
  \pgfmathsetmacro#1{sin(#3)}%
  \pgfmathsetmacro#2{cos(#3)}%
}
\newcommand\LongitudePlane[3][current plane]{%
  \pgfmathsinandcos\sinEl\cosEl{#2} % elevation
  \pgfmathsinandcos\sint\cost{#3} % azimuth
  \tikzset{#1/.estyle={cm={\cost,\sint*\sinEl,0,\cosEl,(0,0)}}}
}
\newcommand\LatitudePlane[3][current plane]{%
  \pgfmathsinandcos\sinEl\cosEl{#2} % elevation
  \pgfmathsinandcos\sint\cost{#3} % latitude
  \pgfmathsetmacro\yshift{\cosEl*\sint}
  \tikzset{#1/.estyle={cm={\cost,0,0,\cost*\sinEl,(0,\yshift)}}} %
}
\newcommand\DrawLongitudeCircle[2][1]{
  \LongitudePlane{\angEl}{#2}
  \tikzset{current plane/.prefix style={scale=#1}}
  
  \pgfmathsetmacro\angVis{atan(sin(#2)*cos(\angEl)/sin(\angEl))} %
  \draw[current plane,thin,black] (\angVis:1) arc (\angVis:\angVis+180:1);
  \draw[current plane,thin,dashed] (\angVis-180:1) arc (\angVis-180:\angVis:1);
}
\newcommand\DrawLongitudeCirclered[2][1]{
  \LongitudePlane{\angEl}{#2}
  \tikzset{current plane/.prefix style={scale=#1}}
   % angle of "visibility"
  \pgfmathsetmacro\angVis{atan(sin(#2)*cos(\angEl)/sin(\angEl))} %
  \draw[current plane,red,thick] (150:1) arc (150:180:1);
  %\draw[current plane,dashed] (-50:1) arc (-50:-35:1);
}%for drawing the grid
\newcommand\DLongredd[2][1]{
  \LongitudePlane{\angEl}{#2}
  \tikzset{current plane/.prefix style={scale=#1}}
   % angle of "visibility"
  \pgfmathsetmacro\angVis{atan(sin(#2)*cos(\angEl)/sin(\angEl))} %
  \draw[current plane,black,dashed, ultra thick] (150:1) arc (150:180:1);
  
  \tikzset{%
  >=latex,
  inner sep=0pt,%
  outer sep=2pt,%
  mark coordinate/.style={inner sep=0pt,outer sep=0pt,minimum size=3pt,
    fill=black,circle}%
    
    \begin{document}
    \begin{tikzpicture}
    \def\R{2.5}
    \def\angEl{35}
    \filldraw[ball color=white] (0,0) circle (\R);
    \foreach \t in {-80,-60,...,80} { \DrawLatitudeCircle[\R]{\t} }
    \foreach \t in {-5,-35,...,-175} { \DrawLongitudeCircle[\R] {\t} }
    \end{tikzpicture}
    
    \begin{tikzpicture}
    \filldraw[ball color=white] (0,0) circle (2.5cm);
    \end{tikzpicture}
    
    \end{document}
IfindU Auf diesen Beitrag antworten »

Du hast beim kopieren wenigstens 2 }-Klammern zu vergessen (Zeile 42 und 49).
Gast11022013 Auf diesen Beitrag antworten »

Stimmt, die habe ich ergänzt. Dann kommt jetzt eine Fehlermeldung bezüglich Zeile 55.
Gast11022013 Auf diesen Beitrag antworten »
RE: 3D Kugel erstellen
Hat sich erledigt, ich hatte den einen Befehl in Zeile 55 gar nicht definiert.
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »