Chcę narysować trójkąt z trzema bokami 5, 7, 9 i jego kręgiem w geometrii 3D. Użyłem GeospacW. Próbowałem

  • Narysować okrąg (T) ma środek początkowy i promień r=15/sqrt(11).
  • Wybierz punkt A na (T) i narysuj okrąg (C1) ma środek A i ma promień r=5.
  • Znajdź przecięcie punktów między (T) i (C1), powiedzmy, że jednym z nich jest B.
  • Narysuj okrąg (C2) ma środek B i promień 7.
  • Znajdź przecięcie punktów między (T) i (C2), powiedzmy, że jeden z nich to C.
  • Narysuj trójkąt ABC i jego incircle.

tutaj wprowadź opis obrazu

Po narysowaniu trójkąta rysuję piramida DABC z prostopadle do płaszczyzny (ABC) i DC=\sqrt{33}/2.

wprowadź tutaj opis obrazu

Komentarze

  • Jeśli wstępnie obliczysz wszystkie współrzędne w (x, y, z), rysowanie w 3D jest łatwe. Jeśli chcesz użyć konstrukcji geometrycznej, w 2D jest to wystarczająco trudne. W szczególności biblioteka Tikz through używa współrzędnych 2D.
  • W TikZ możemy zdefiniować współrzędne za pomocą x i y jak w (0,0), a także z x, y i z jak w (0,0,0). Próbowałem nawet (0,0,0,0), ale przypuszczam, że nie można go użyć do rzeczywistego rysowania, ale nie ma komunikatu o błędzie, jeśli jest używany i ogólnie działa \coordinate (A) at (0,0,0,0); \coordinate (B) at (0,0,0,2); \draw (A)--(B) node {Hello World!};. Szczerze mówiąc, nigdy nie potrzebowałem czwartego wymiaru w TikZ … :-)

Odpowiedź

Używam Mathematica , aby znaleźć współrzędne punktów A, B, C, I i promień incircle.

\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} 

tutaj wprowadź opis obrazu

Za pomocą tego kodu możesz zmienić wartości trzech liczb a, b, c wystarczająco dużych. Np. Użyłem 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} 

tutaj wprowadź opis obrazu

Odpowiedź

Można wstępnie obliczyć współrzędne używając

tekst

lub można użyć Tikz i \ whereami, aby uzyskać współrzędne

konstrukcja

\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} 

Jakkolwiek to zrobisz, kiedy już masz współrzędne, możesz łatwo narysować diagram.

Obraz 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} 

Komentarze

  • Skąd się wzięły magiczne liczby 0.0352 w \wherami? Wygrałeś ' t te, które trzeba dostosować, jeśli zmieni się wektory xiy?
  • @Peter Grill – Konwersja z pt na cm. cm to rodzaj domyślnej jednostki dla Tikz.

Odpowiedz

trójkąt:

\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} 

tutaj wprowadź opis obrazu

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *