Voglio disegnare un triangolo con tre lati 5, 7, 9 e il suo cerchio in geometria 3D. Ho usato GeospacW. Ho provato

  • Disegna un cerchio (T) ha origine centrale e ha raggio r=15/sqrt(11).
  • Prendi un punto A su (T) e disegna un cerchio (C1) con centro A e ha un raggio r=5.
  • Trova lintersezione dei punti tra (T) e (C1), supponiamo che uno di essi sia B.
  • Disegna un cerchio (C2) ha centro B e ha raggio 7.
  • Trova lintersezione dei punti tra (T) e (C2), supponi che uno di essi sia C.
  • Disegna il triangolo ABC e il suo cerchio.

inserisci qui la descrizione dellimmagine

Dopo aver disegnato il triangolo, disegno un piramide DABC con perpendicolare al piano (ABC) e DC=\sqrt{33}/2.

inserisci qui la descrizione dellimmagine

Commenti

  • Se precalcoli tutte le coordinate in (x, y, z), disegnarlo in 3D è facile. Se vuoi usare la costruzione geometrica, è abbastanza difficile in 2D. In particolare, la libreria Tikz through utilizza coordinate 2D.
  • In TikZ, possiamo definire una coordinata con x e y parti come in (0,0) nonché con x, y e z parti come in (0,0,0). Ho anche provato (0,0,0,0) ma non può essere utilizzato per il disegno effettivo, suppongo, ma non viene visualizzato alcun messaggio di errore se utilizzato e funziona in generale \coordinate (A) at (0,0,0,0); \coordinate (B) at (0,0,0,2); \draw (A)--(B) node {Hello World!};. Ad essere sincero, non ho mai avuto bisogno della quarta dimensione in TikZ … :-)

Risposta

Uso Mathematica per trovare le coordinate dei punti A, B, C, I e il raggio dellincircolo.

\documentclass[border=2mm,12pt,tikz]{standalone} \usepackage{tikz-3dplot} \begin{document} \tdplotsetmaincoords{60}{60} \begin{tikzpicture}[tdplot_main_coords] \path (0,0,0) coordinate (A) (9, 0,0) coordinate (B) (35/6, {7*sqrt(11)/6},0) coordinate (C) (35/6, {7*sqrt(11)/6},{sqrt(33)/2}) coordinate (D) (11/2, {sqrt(11)/2},0) coordinate (I); \draw[blue,dashed] (I) circle[radius= {sqrt(11)/2}]; \foreach \p in {A,B,C,D,I} \draw[fill=black] (\p) circle (1.5pt); \foreach \p/\g in {A/180,C/0,B/-90,D/90,I/0} \path (\p)+(\g:3mm) node{$\p$}; \foreach \X in {A,B,C} \draw[thick] (\X) -- (D); \draw[thick] (A) -- (B) -- (C) ; \draw[dashed] (A)-- (C) ; \end{tikzpicture} \end{document} 

inserisci qui la descrizione dellimmagine

Con questo codice, puoi modificare i valori di tre numeri a, b, c abbastanza grandi. Ad esempio, ho utilizzato a=7;b=8;c=10.

\documentclass[12pt, border = 1mm]{standalone} \usepackage{tikz} \usepackage{tikz-3dplot} \begin{document} \tdplotsetmaincoords{60}{60} \begin{tikzpicture}[tdplot_main_coords,scale=1,tdplot_main_coords,declare function={a=7;b=8;c=10;h=sqrt(33)/2;R= 1/2*sqrt((a + b - c)* (a - b + c) *(-a + b + c)/(a + b + c));% }] \coordinate (A) at (0,0,0); \coordinate (B) at (c,0,0); \coordinate (C) at ({(pow(b,2) + pow(c,2) - pow(a,2))/(2*c)},{sqrt((a+b-c) *(a-b+c) *(-a+b+c)* (a+b+c))/(2*c)},0); \coordinate (D) at ({(pow(b,2) + pow(c,2) - pow(a,2))/(2*c)},{sqrt((a+b-c) *(a-b+c) *(-a+b+c)* (a+b+c))/(2*c)},h); \coordinate (I) at ({1/2 *(-a + b + c)}, { 1/2*sqrt(((a + b - c)* (a - b + c)* (-a + b + c))/(a + b + c))}); \draw[red,dashed,thick] (I) circle[radius= R]; \foreach \p in {A,B,C,D,I} \draw[fill=black] (\p) circle (1.5pt); \foreach \p/\g in {A/180,C/0,B/-90,D/90,I/0} \path (\p)+(\g:3mm) node{$\p$}; \foreach \X in {A,B,C} \draw[thick] (\X) -- (D); \draw[thick] (A) -- (B) -- (C) ; \draw[dashed] (A)-- (C) ; \end{tikzpicture} \end{document} 

inserisci qui la descrizione dellimmagine

Risposta

Si può pre-calcolare il coordinate utilizzando

text

oppure si può usare Tikz e \ whereeami per ottenere le coordinate

costruzione

\documentclass{standalone} \usepackage{tikz} \usetikzlibrary{intersections} \makeatletter \newlength{\whereamix} \newlength{\whereamiy} \newcommand{\whereami}[2]{ % #1 = anchor name, #2 = color \draw[color=#2] (#1) node{ \setlength{\whereamix}{0.0352\pgf@x} \setlength{\whereamiy}{0.0352\pgf@y} (\strip@pt\whereamix, \strip@pt\whereamiy) }; } \makeatother \begin{document} \begin{tikzpicture} %construct 5-7-9 triangle ABC \coordinate (A) at (0,0); \coordinate (B) at (9,0); \draw[lightgray,name path=AB] (A) -- (B); \draw[lightgray,name path=AC] (A) circle(5); \draw[lightgray,name path=BC] (B) circle(7); \path [name intersections={of=AC and BC}]; \coordinate (C) at (intersection-1); \draw[blue] (A) -- (B) -- (C) -- cycle; %bisect angle CAB \path [name intersections={of=AB and AC}]; \coordinate (C1) at (intersection-1); \draw[lightgray,name path=CEF] (C) circle(4); \draw[lightgray,name path=C1E] (C1) circle(4); \path [name intersections={of=CEF and C1E}]; \coordinate (E) at (intersection-2); %bisect angle CBA \path [name intersections={of=AB and BC}]; \coordinate (C2) at (intersection-1); \draw[lightgray,name path=C2F] (C2) circle(4); \path [name intersections={of=CEF and C2F}]; \coordinate (F) at (intersection-1); %locate incenter \draw[lightgray,name path=AE] (A) -- (E); \draw[lightgray,name path=BF] (B) -- (F); \path [name intersections={of=AE and BF}]; \coordinate (D) at (intersection-1); %construct inscribed circle \draw[lightgray,name path=DG] (D) -- +(0,-4); \path [name intersections={of=AB and DG}]; \coordinate (G) at (intersection-1); %print coordinates \whereami{A}{black} \whereami{B}{black} \whereami{C}{black} \whereami{D}{blue} \end{tikzpicture} \end{document} 

Comunque lo fai, una volta che hai le coordinate puoi disegnare facilmente il diagramma.

Immagine 3D

\documentclass{standalone} \usepackage{tikz} \begin{document} \begin{tikzpicture} %define xyz coordinate system \pgfsetxvec{\pgfpoint{.866cm}{-.25cm}} \pgfsetyvec{\pgfpoint{-.5cm}{-.433cm}} \pgfsetzvec{\pgfpoint{0cm}{.866cm}} %pre-computed coordinates \coordinate (A) at (0,0,0); \coordinate (C) at (9,0,0); \coordinate (B) at (3.17,3.88,0); \coordinate (I) at (3.51,1.66,0); \coordinate (D) at (9,0,2.87); %start drawing \path (A) node[left]{$A$} (B) node[below]{$B$} (C) node[right]{$C$} (D) node[above]{$D$} (I) node[left]{$I$}; \draw[red] (A) -- (B) -- (C) -- (D) -- cycle (B) -- (D); \draw[red,dashed] (A) -- (C); \draw[blue] (I) circle(1.66); \fill[black] (A) circle(2pt) (B) circle(2pt) (C) circle(2pt) (D) circle(2pt) (I) circle(2pt); \end{tikzpicture} \end{document} 

Commenti

  • Da dove vengono i numeri magici 0.0352 in \wherami? Hai vinto ‘ t quelli devono essere modificati se si cambiano i vettori xey?
  • @Peter Grill – Conversione da pt a cm. cm è una specie di unità predefinita per Tikz.

Answer

il triangolo:

\documentclass[pstricks,border=12pt]{standalone} \usepackage{pst-eucl} \begin{document} \psset{unit=0.5} \begin{pspicture}(-12,-5)(10,12) \pstGeonode(0,0){O}(!15 11 sqrt div 45 PtoC){A} \rput(A){\pstGeonode(5;135){A"}} \pscircle[linecolor=red](O){!15 11 sqrt div} \pscircle[linecolor=green](A){5} \pstInterCC{O}{A}{A}{A"}{B}{C} \pscircle[linecolor=blue](B){7} \rput(B){\pstGeonode(7;45){B"}} \pstInterCC{O}{A}{B}{B"}{D}{E} \pspolygon[fillstyle=solid,fillcolor=cyan!40,opacity=0.3](A)(B)(D) \end{pspicture} \end{document} 

inserisci qui la descrizione dellimmagine

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *