如何构造这个四面体的点 S 并画出一个过 A、B、C、D 四点的球体?

如何构造这个四面体的点 S 并画出一个过 A、B、C、D 四点的球体?

我有四面体,其中,,,,,SABC。我看到了这个问题BC = 13AC=14AB = 15SA = 16SB = 17SC = 18这里并尝试绘制点 S 并绘制一个通过四个点的球体A, B, C, S。我只找到三个点A(0,0,0)B(15,0,0)C(42/5, 56/5,0)。我无法构造点S并绘制一个通过四个点的球体A, B, C, S。我试过了

\documentclass[border=2mm]{standalone}
\usepackage{tikz,tikz-3dplot} 
\begin{document}
\tdplotsetmaincoords{70}{150}
\begin{tikzpicture}[tdplot_main_coords]
        \path
        (0,0,0) coordinate (A) node[above]{$A$}
        (15,0,0) coordinate (B) node[below]{$B$}
        (42/5, 56/5,0) coordinate (C) node[below]{$C$};
\draw (A) -- (B) -- (C) -- cycle;   
\foreach \X in {A,B,C} \fill (\X) circle (1.5pt)
;   
    \end{tikzpicture}
\end{document}   

在此处输入图片描述

答案1

更新 我问了作者3dtools 在这儿. 凭借新的更新S,现在您无需使用 Maple即可构造点。

\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{calc,decorations.pathreplacing,3dtools} % https://github.com/marmotghost/tikz-3dtools
\begin{document}
    \begin{tikzpicture}[line cap=round,line join=round,c/.style={circle,fill,inner sep=1pt},
        declare function={lAB=15;lAC=14;lBC=13;lAD=16;lBD=17;lCD=18;}]
        % ^^^ the lengths of the tetrahedron
        \begin{scope}[3d/install view={phi=60,psi=0,theta=70}]
            % construct a triangle of three vertices in the xy plane
            % using the cosine law
            \pgfmathsetmacro{\mytheta}{acos(-1*(lBC*lBC-lAC*lAC-lAB*lAB)/(2*lAB*lAC))}
            \path (0,0,0) coordinate (A)
            (lAB,0,0) coordinate (B)
            ({lAC*cos(\mytheta)},{lAC*sin(\mytheta)},0) coordinate (C);
            \path[overlay,3d/aux keys/i1=S,3d/aux keys/i2=D',
            3d/intersection of three spheres={rA=lAD,rB=lBD,rC=lCD}];
            \path[3d/circumsphere center={A={(A)},B={(B)},C={(C)},D={(S)}}]
            coordinate (I);
            \pgfmathsetmacro{\myR}{sqrt(TD("(I)-(A)o(I)-(A)"))} ;
            \path[3d/circumcircle center={A={(A)},B={(B)},C={(C)}}] coordinate (G);
            \draw[3d/screen coords] (I) circle[radius=\myR];
            \path pic{3d/circle on sphere={R=\myR,C={(I)}, P={(G)}}};
\path[3d/circumcircle center={A={(A)},B={(B)},C={(S)}}] coordinate (T); 
\path  pic{3d/circle on sphere={R=\myR,C={(I)}, P={(T)}}};
            \path foreach \p/\g in {A/180,B/-90,C/0,S/90,G/-90,I/0}{(\p)node[c]{}+(\g:2.5mm) node{$\p$}};
            \draw[3d/hidden] (A) -- (C) (S) -- (A)  (S) -- (B) (S) --(C) (A) -- (B) -- (C);
        \end{scope}
    \end{tikzpicture}
\end{document}

在此处输入图片描述

我使用Maple来找到该点的坐标S在此处输入图片描述

在此处输入图片描述

\documentclass[border=3.14mm]{standalone}
\usepackage{tikz,tikz-3dplot}
\usetikzlibrary{fpu}
\def\pgfmathsetmacroFPU#1#2{\begingroup%
    \pgfkeys{/pgf/fpu,/pgf/fpu/output format=fixed}%
    \pgfmathsetmacro{#1}{#2}%
    \pgfmathsmuggle#1\endgroup}%
\begin{document}
    \tdplotsetmaincoords{70}{70}
    \begin{tikzpicture}[tdplot_main_coords]
        \begin{scope}[/pgf/fpu,/pgf/fpu/output format=fixed]
        \path
        (0,0,0) coordinate (A) node[above]{$A$}
        (15,0,0) coordinate (B) node[below]{$B$}
        (42/5, 56/5,0) coordinate (C) node[below]{$C$}
(32/5, 32/55,{(16*sqrt(41))/7}) coordinate (S) node[above]{$S$}
(32/5, 32/55,{(-16*sqrt(41))/7}) coordinate (S') node[below]{$S'$}
(15/2, 25/8,{(135*sqrt(41))/164}) coordinate (I) node[below]{$I$}
(15/2, 25/8,0) coordinate (G) node[below]{$G$};
;
\pgfmathsetmacroFPU{\myR}{(5*sqrt(403645))/328}
\draw[tdplot_screen_coords] (I) circle [radius = \myR];
        
\pgfmathsetmacroFPU{\myr}{65/8};
\draw[cyan] (G) circle [radius = \myr];     
\end{scope}
\draw [dashed] (A) -- (C) (S) --(I) (S) -- (A) (S) -- (B) (S) -- (C) (A) -- (B) -- (C); 
\foreach \X in {A,B,C,S,S',I,G} \fill (\X) circle (1.5pt);   
    \end{tikzpicture}
\end{document} 

在此处输入图片描述

您可以使用\usetikzlibrary{3dtools} 这里

\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{3dtools}% https://github.com/marmotghost/tikz-3dtools
\begin{document}
\begin{tikzpicture}[3d/install view={phi=70,theta=70},line cap=butt,
line join=round] 
        \path
            (0,0,0) coordinate (A) node[above]{$A$}
        (15,0,0) coordinate (B) node[below]{$B$}
        (42/5, 56/5,0) coordinate (C) node[below]{$C$}
        (32/5, 32/55,{(16*sqrt(41))/7}) coordinate (S) node[above]{$S$};
                \path[3d/circumsphere center={A={(A)},B={(B)},C={(C)},D={(S)}}]
        coordinate (I) node[above]{$I$};
        \pgfmathsetmacro{\myR}{sqrt(TD("(I)-(A)o(I)-(A)"))} ; 
    
\path[3d/circumcircle center={A={(A)},B={(B)},C={(C)}}] coordinate (G);
\draw[red, 3d/screen coords] (I) circle[radius=\myR]; 
\path  pic[blue]{3d/circle on sphere={R=\myR,C={(I)}, P={(G)}}};
\draw[3d/hidden] (A) -- (B) -- (C) --cycle (B) -- (I)
(S) --(A) (S) --(B) (S)--(C);
\foreach \X in {A,B,C,I,S} \fill (\X) circle (1.5pt)
        ;  
    \end{tikzpicture}
\end{document}  
 

在此处输入图片描述

相关内容