Die Mathe-Redaktion - 18.01.2020 02:20 - Registrieren/Login
Auswahl
ListenpunktHome
ListenpunktAktuell und Interessant ai
ListenpunktArtikelübersicht/-suche
ListenpunktAlle Links / Mathe-Links
ListenpunktFach- & Sachbücher
ListenpunktMitglieder / Karte / Top 15
ListenpunktRegistrieren/Login
ListenpunktArbeitsgruppen
Listenpunkt? im neuen Schwätz
ListenpunktWerde Mathe-Millionär!
ListenpunktAward-Abstimmung ab 1.1.
ListenpunktFormeleditor fedgeo
Schwarzes Brett
Aktion im Forum
Suche
Stichwortsuche in Artikeln und Links von Matheplanet
Suchen im Forum
Suchtipps

Bücher
Englische Bücher
Software
Suchbegriffe:
Mathematik bei amazon
Naturwissenschaft & Technik
In Partnerschaft mit Amazon.de
Kontakt
Mail an Matroid
[Keine Übungsaufgaben!]
Impressum

Bitte beachten Sie unsere Nutzungsbedingungen, die Distanzierung, unsere Datenschutzerklärung und
die Forumregeln.

Sie können Mitglied werden. Mitglieder können den Matheplanet-Newsletter bestellen, der etwa alle 2 Monate erscheint.

Der Newsletter Okt. 2017

Für Mitglieder
Mathematisch für Anfänger
Wer ist Online
Aktuell sind 367 Gäste und 4 Mitglieder online.

Sie können Mitglied werden:
Klick hier.

Über Matheplanet
 
Zum letzten Themenfilter: Themenfilter:
Matroids Matheplanet Forum Index
Moderiert von Bilbo matph
Informatik » Angewandte Informatik » Dreiecksgraphik in TikZ umsetzen.
Druckversion
Druckversion
Autor
Schule J Dreiecksgraphik in TikZ umsetzen.
Koohf
Junior Letzter Besuch: in der letzten Woche
Dabei seit: 14.12.2019
Mitteilungen: 7
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Themenstart: 2019-12-14


Hallo liebe MP!

Wie kann ich folgende Graphik mit dem mächtigen TeX Paket Tikz erstellen?
Besonders knifflig scheinen die grauen Linien zu sein.



Danke.
Ergänzung:
Hier die Koordinaten der Punkte wie sie in der Quelle angegeben sind.
A(24|0|0) B(0|36|0) C(0|0|12) B1(16|12|0) B2(12|18|0) B3(6|14|0)



Wahlurne Für Koohf bei den Matheplanet-Awards stimmen
  Profil  Quote  Link auf diesen Beitrag Link
viertel
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 04.03.2003
Mitteilungen: 26911
Aus: Hessen
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.1, eingetragen 2019-12-14


Hi Koohf

Willkommen auf dem Planeten

Soll die Grafik etwa sowas darstellen:

Der 3D-Effekt kommt bei deinem Bild kaum raus (vielleicht weil die Achsen so blaß sind).

Frag mich aber nicht, wie das mit TikZ zu erstellen ist, da hab ich keine Ahnung.
Das Bild ist mit PovRay erstellt.

Gruß vom ¼


-----------------
Bild



Wahlurne Für viertel bei den Matheplanet-Awards stimmen
  Profil  Quote  Link auf diesen Beitrag Link
Koohf
Junior Letzter Besuch: in der letzten Woche
Dabei seit: 14.12.2019
Mitteilungen: 7
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.2, vom Themenstarter, eingetragen 2019-12-14


Hallo Viertel.

Vielen Dank für deinen Beitrag. Es scheint aber, dass PovRay keine Vektorgraphiken produziert. Oder sehe ich das falsch?
Ich hätte gerne eine Vektorgraphik. Deswegen habe ich mich für TikZ entschieden.



Wahlurne Für Koohf bei den Matheplanet-Awards stimmen
  Profil  Quote  Link auf diesen Beitrag Link
geroyx
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 01.11.2019
Mitteilungen: 183
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.3, eingetragen 2019-12-14



2019-12-14 02:07 - Koohf im Themenstart schreibt:
Wie kann ich folgende Graphik mit ... Tikz erstellen?



· Die Pyramide zeichnet man trival mit 3D-Koordinaten.
Gut, da muss man auch erstmal wissen, wie das geht. Aber da kann man sich irgendein Beispiel raussuchen, wo etwas mit 2D-Koordinaten, z.B. \draw (0,2)-- (1,3); gezeichnet wird, und an ihrer statt experimentiert man dann mit 3D-Koordinaten, z.B. \draw (0,0,1) -- (1,2,3);


· Das Kernproblem sind die Strecken $B_1B_4$ und $B_2B_3$ des Prismas, die senkrecht auf $AB$ stehen und in der Grundebene $OAB$ liegen.

Dazu muss man etweder eine 3D-Bibliothek bemühen, etwa tikz-3d, oder man zeichnet die senkrechten Strecken so ein bzw. bestimmt sie so, wie man es auch von Hand machen würde:

Sei $\vec{p}
= \begin{pmatrix} p_x \\ 0 \\ p_z \end{pmatrix}
= \overrightarrow{AB}
= \overrightarrow{OB}-\overrightarrow{OA}
= \begin{pmatrix} b \\ 0 \\ 0 \end{pmatrix}
 -\begin{pmatrix} 0 \\ 0 \\ a \end{pmatrix}
= \begin{pmatrix} b \\ 0 \\ -a \end{pmatrix}$.
Und sei $\vec{s} =: \overrightarrow{LM} = \begin{pmatrix} s_x \\ 0 \\ s_z \end{pmatrix}$ ein Vektor, der in der $OAB$-Grundebene liegt und senkrecht auf $\vec{p} = \overrightarrow{AB}$ steht.

Dann ist $0
= \vec{s} \cdot \vec{p}
= s_x p_x + s_z p_z$

Wählt man $s_z=1$ wird $s_x = -\dfrac{p_z}{p_x}$.
Mit dem Betrag $|\vec{s}| = \sqrt{\dfrac{p_z^2}{p_x^2}+1^2}$ lässt sich ein entsprechender Einheitsvektor angeben.

Das sieht in TikZ so aus:
\pgfmathsetmacro{\a}{<Zahl>}%  
\pgfmathsetmacro{\b}{<Zahl>}%  
 
\pgfmathsetmacro{\pX}{\b-0}  
% \pgfmathsetmacro{\pY}{0}   y-Koordinate immer 0
\pgfmathsetmacro{\pZ}{0-\a}  
\pgfmathsetmacro{\pAbs}{sqrt(\pZ*\pZ/(\pX*\pX)+1)}  
\pgfmathsetmacro{\sX}{-\pZ/(\pX*\pAbs)}  
\pgfmathsetmacro{\sZ}{1/\pAbs} 
wobei man natürlich dieses '-0' auch weglassen kann.

Damit lässt sich gleichwohl eine Koordinate (U) definieren:
\coordinate[] (U) at (\sX,0,\sZ); 


· Für den Vektor $\vec{s} =: \overrightarrow{LM}$ muss der Startpunkt $L$ festgelegt werden, der liegt z.B. bei $AL = 0.4\cdot AB$; in TikZ :
\coordinate[label=below:$L$] (L) at ($(A)!0.4!(B)$); 
\usetikzlibrary{calc}

· Endlich soll von (L) in Richtung (U) gezeichnet werden, z.B. in einer Länge von $-1.75$; das hat die Syntax
\draw[red] (L) -- +($-1.75*(U)$);
\usetikzlibrary{calc}
Das entspricht jetzt hier 1.75cm, da $\vec{s}$ als Einheitsvektor bestimmt wurde.

Beachte, dass (U) nicht der tatsächliche Endpunkt des Vektors $\vec{p} = \overrightarrow{LM}$ ist ($M$ ist, von seinen Koordinaten her, -hier- unbekannt und unwichtig).

Die verwendeten Zahlen 0.4 bzw. 1.75 lassen sich natürlich, wie oben, auch allgemein als pgfmathsetmacro definieren; es ist m.E. nicht der beste Stil, sowas in den Code zu schreiben, aber zwecks Verständnis hier so gemacht.


<math>
\pgfmathsetmacro{\a}{5}%
\pgfmathsetmacro{\b}{5}%
\pgfmathsetmacro{\h}{3}%

\begin{tikzpicture}[font=\footnotesize,
]

\coordinate[label=left:$O$] (O) at (0,0,0);
\coordinate[label=below:$B$] (B) at (\b,0,0);
\coordinate[label=below:$A$] (A) at (0,0,\a);
\coordinate[label=22:$C$] (C) at (0,\h,0);
\coordinate[label=below:$L$] (L) at ($(A)!0.4!(B)$);

%\coordinate[label=below:$B_2$] (BI) at ($(A)!0.6!(B)$);

% Grundflche
\draw[] (A) -- (B);
\draw[help lines] (O) -- (A);
\draw[help lines] (O) -- (B);


\pgfmathsetmacro{\pX}{\b-0}%
% \pgfmathsetmacro{\pY}{0}%   y-Koordinate immer 0
\pgfmathsetmacro{\pZ}{0-\a}%
\pgfmathsetmacro{\pAbs}{sqrt(\pZ*\pZ/(\pX*\pX)+1)}%
\pgfmathsetmacro{\sX}{-\pZ/(\pX*\pAbs)}%
\pgfmathsetmacro{\sZ}{1/\pAbs}%

\coordinate[label=right:$$] (U) at (\sX,0,\sZ);
\draw [red] (L) -- +($-1.75*(U)$);



\begin{scope}[-latex, shift={(-0.5*\a,\h-0.3,0)}]
\foreach \P/\s/\Pos in {(1,0,0)/x/below, (0,1,0)/y/left, (0,0,2)/z/right}
\draw[] (0,0,0) -- \P node[\Pos, pos=0.9,inner sep=2pt]{$\s$};
\end{scope}
\end{tikzpicture}
</math>

LateX
\documentclass[margin=5pt, tikz]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
 
\begin{document}
\pgfmathsetmacro{\a}{5}%  
\pgfmathsetmacro{\b}{5}%  
\pgfmathsetmacro{\h}{3}%  
 
\begin{tikzpicture}[font=\footnotesize, 
]
 
\coordinate[label=left:$O$] (O) at (0,0,0); 
\coordinate[label=below:$B$] (B) at (\b,0,0); 
\coordinate[label=below:$A$] (A) at (0,0,\a); 
\coordinate[label=22:$C$] (C) at (0,\h,0); 
\coordinate[label=below:$L$] (L) at ($(A)!0.4!(B)$); 
 
%\coordinate[label=below:$B_2$] (BI) at ($(A)!0.6!(B)$); 
 
% Grundfläche
\draw[] (A) -- (B);
\draw[help lines] (O) -- (A);
\draw[help lines] (O) -- (B);
 
 
\pgfmathsetmacro{\pX}{\b-0}%  
% \pgfmathsetmacro{\pY}{0}%   y-Koordinate immer 0
\pgfmathsetmacro{\pZ}{0-\a}%  
\pgfmathsetmacro{\pAbs}{sqrt(\pZ*\pZ/(\pX*\pX)+1)}%  
\pgfmathsetmacro{\sX}{-\pZ/(\pX*\pAbs)}%  
\pgfmathsetmacro{\sZ}{1/\pAbs}% 
 
\coordinate[label=right:$$] (U) at (\sX,0,\sZ); 
\draw [red] (L) -- +($-1.75*(U)$);
 
 
 
\begin{scope}[-latex, shift={(-0.5*\a,\h-0.3,0)}]
\foreach \P/\s/\Pos in {(1,0,0)/x/below, (0,1,0)/y/left, (0,0,2)/z/right} 
\draw[] (0,0,0) -- \P node[\Pos, pos=0.9,inner sep=2pt]{$\s$};
\end{scope}
\end{tikzpicture}
\end{document}



<math>\pgfmathsetmacro{\a}{5}%
\pgfmathsetmacro{\b}{5}%
\pgfmathsetmacro{\h}{3}%

\pgfmathsetmacro{\H}{0.455*\h}%  Hhe fr Prisma
\begin{tikzpicture}[font=\footnotesize,
]

\coordinate[label=left:$O$] (O) at (0,0,0);
\coordinate[label=below:$B$] (B) at (\b,0,0);
\coordinate[label=below:$A$] (A) at (0,0,\a);
\coordinate[label=22:$C$] (C) at (0,\h,0);
\coordinate[label=below:$B_1$] (BI) at ($(A)!0.4!(B)$);
\coordinate[label=below:$B_2$] (BII) at ($(A)!0.6!(B)$);



% Grundflche
\draw[] (A) -- (B);
\draw[help lines] (O) -- (A);
\draw[help lines] (O) -- (B);
% Pyradmide
\draw[help lines] (O) -- (C);
\foreach \P in {A, B} \draw[] (\P) -- (C);

\pgfmathsetmacro{\pX}{\b-0}%
% \pgfmathsetmacro{\pY}{0}%   y-Koordinate immer 0
\pgfmathsetmacro{\pZ}{0-\a}%
\pgfmathsetmacro{\pAbs}{sqrt(\pZ*\pZ/(\pX*\pX)+1)}%
\pgfmathsetmacro{\sX}{-\pZ/(\pX*\pAbs)}%
\pgfmathsetmacro{\sZ}{1/\pAbs}%


\coordinate[label=right:$$] (U) at (\sX,0,\sZ);
\draw [] (BI) -- +($-1.75*(U)$) coordinate[label=below:$B_4$] (BIV);
\draw [] (BII) -- +($-1.75*(U)$) coordinate[label=right:$B_3$] (BIII);
\draw [] (BIII) -- (BIV);

\draw[] (BIII) -- +(0,\H,0) coordinate[] (BIIIs) -- (BII);
\draw[] (BIV) -- +(0,\H,0) coordinate[] (BIVs) -- (BI);
\draw [] (BIIIs) -- (BIVs);

\foreach \P in {A,B,C,O, BI,BII,BIII,BIV, BIIIs,BIVs} \draw[fill=black] (\P) circle (0.85pt);

\begin{scope}[-latex, shift={(-0.5*\a,\h-0.3,0)}]
\foreach \P/\s/\Pos in {(1,0,0)/x/below, (0,1,0)/y/left, (0,0,2)/z/right}
\draw[] (0,0,0) -- \P node[\Pos, pos=0.9,inner sep=2pt]{$\s$};
\end{scope}
\end{tikzpicture}</math>

LaTeX
\documentclass[margin=5pt, tikz]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
 
\begin{document}
\pgfmathsetmacro{\a}{5}%  
\pgfmathsetmacro{\b}{5}%  
\pgfmathsetmacro{\h}{3}%  
 
\pgfmathsetmacro{\H}{0.455*\h}%  Höhe für Prisma
\begin{tikzpicture}[font=\footnotesize, 
]
 
\coordinate[label=left:$O$] (O) at (0,0,0); 
\coordinate[label=below:$B$] (B) at (\b,0,0); 
\coordinate[label=below:$A$] (A) at (0,0,\a); 
\coordinate[label=22:$C$] (C) at (0,\h,0); 
\coordinate[label=below:$B_1$] (BI) at ($(A)!0.4!(B)$); 
\coordinate[label=below:$B_2$] (BII) at ($(A)!0.6!(B)$); 
 
%\coordinate[label=below:$B_2$] (BI) at ($(A)!0.6!(B)$); 
 
% Grundfläche
\draw[] (A) -- (B);
\draw[help lines] (O) -- (A);
\draw[help lines] (O) -- (B);
% Pyradmide
\draw[help lines] (O) -- (C);
\foreach \P in {A, B} \draw[] (\P) -- (C);
 
% Prisma
\pgfmathsetmacro{\pX}{\b-0}%  
% \pgfmathsetmacro{\pY}{0}%   y-Koordinate immer 0
\pgfmathsetmacro{\pZ}{0-\a}%  
\pgfmathsetmacro{\pAbs}{sqrt(\pZ*\pZ/(\pX*\pX)+1)}%  
\pgfmathsetmacro{\sX}{-\pZ/(\pX*\pAbs)}%  
\pgfmathsetmacro{\sZ}{1/\pAbs}% 
 
\coordinate[label=right:$$] (U) at (\sX,0,\sZ); 
\draw [] (BI) -- +($-1.75*(U)$) coordinate[label=below:$B_4$] (BIV);
\draw [] (BII) -- +($-1.75*(U)$) coordinate[label=right:$B_3$] (BIII);
\draw [] (BIII) -- (BIV);
 
\draw[] (BIII) -- +(0,\H,0) coordinate[] (BIIIs) -- (BII);
\draw[] (BIV) -- +(0,\H,0) coordinate[] (BIVs) -- (BI);
\draw [] (BIIIs) -- (BIVs);
 
\foreach \P in {A,B,C,O, BI,BII,BIII,BIV, BIIIs,BIVs} \draw[fill=black] (\P) circle (0.85pt);
 
\begin{scope}[-latex, shift={(-0.5*\a,\h-0.3,0)}]
\foreach \P/\s/\Pos in {(1,0,0)/x/below, (0,1,0)/y/left, (0,0,2)/z/right} 
\draw[] (0,0,0) -- \P node[\Pos, pos=0.9,inner sep=2pt]{$\s$};
\end{scope}
\end{tikzpicture}
\end{document}









[Die Antwort wurde nach Beitrag No.1 begonnen.]



Wahlurne Für geroyx bei den Matheplanet-Awards stimmen
  Profil  Quote  Link auf diesen Beitrag Link
Koohf hat die Antworten auf ihre/seine Frage gesehen.
Koohf hat selbst das Ok-Häkchen gesetzt.
Neues Thema [Neues Thema]  Druckversion [Druckversion]

 


Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2019 by Matroids Matheplanet
This web site was made with PHP-Nuke, a web portal system written in PHP. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]