![中心と半径を知らなくても、4 つの点を通過する球を描くにはどうすればよいでしょうか?](https://rvso.com/image/405352/%E4%B8%AD%E5%BF%83%E3%81%A8%E5%8D%8A%E5%BE%84%E3%82%92%E7%9F%A5%E3%82%89%E3%81%AA%E3%81%8F%E3%81%A6%E3%82%82%E3%80%814%20%E3%81%A4%E3%81%AE%E7%82%B9%E3%82%92%E9%80%9A%E9%81%8E%E3%81%99%E3%82%8B%E7%90%83%E3%82%92%E6%8F%8F%E3%81%8F%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%3F.png)
に基づくこの紙、私はヘロニアン四面体を持っています。格子四面体 には 頂点がありO(0, 0, 0), A(15, -60, 20), B(96, 120, 128), C(63, 84, 56)
、
この答え私は試した
\documentclass[tikz,border=2 mm,12pt]{standalone}
\usepackage{fouriernc}
\usepackage{tikz-3dplot-circleofsphere}
\begin{document}
\tdplotsetmaincoords{75}{170}
\begin{tikzpicture}[scale=1/10,line cap=butt,line join=round,tdplot_main_coords,declare function={R= 5*sqrt(451369)/14;%
}]
\path
coordinate (O) at (0, 0, 0)
coordinate (A) at (15, -60, 20)
coordinate (B) at (96, 120, 128)
coordinate (C) at (63, 84, 56)
coordinate (I) at (-1383/14, 90/7, 1528/7)
;
\begin{scope}[tdplot_screen_coords]
\draw[thick] (I) circle (R);
\end{scope}
\end{tikzpicture}
\end{document}
次元が大きすぎるため、結果を取得できません。球の中心と半径の座標を計算せずに、を通過する球を描くにはどうすればよいでしょうかO, A, B, C
?
答え1
手動計算機を使いました。
\documentclass[tikz,border=2 mm,12pt]{standalone}
\usepackage{tikz-3dplot}
\begin{document}
\tdplotsetmaincoords{75}{170}
\begin{tikzpicture}[scale=1/10,line cap=butt,line join=round,tdplot_main_coords]
\path
coordinate (O) at (0, 0, 0)
coordinate (A) at (15, -60, 20)
coordinate (B) at (96, 120, 128)
coordinate (C) at (63, 84, 56)
coordinate (I) at (-98.79, 12.86, 218.29)
;
\begin{scope}[tdplot_screen_coords]
\draw[thick] (I) circle (239.94);
\end{scope}
;
\draw[thick] (O)--(A) (O)--(B) (O)--(C) (A)--(B) (A)--(C) (B)--(C);
\end{tikzpicture}
\end{document}
答え2
エラーを削除する方法についての質問の場合dimension too large
、考えられる答えの 1 つは、 ですfpu
。
\documentclass[tikz,border=2 mm,12pt]{standalone}
\usepackage{fouriernc}
\usepackage{tikz-3dplot-circleofsphere}
\usetikzlibrary{fpu}
\def\pgfmathsetmacroFPU#1#2{\begingroup%
\pgfkeys{/pgf/fpu,/pgf/fpu/output format=fixed}%
\pgfmathsetmacro{#1}{#2}%
\pgfmathsmuggle#1\endgroup}%
\begin{document}
\tdplotsetmaincoords{75}{170}
\begin{tikzpicture}[scale=1/10,line cap=butt,line join=round,tdplot_main_coords,
%declare function={R= 5*sqrt(451369/(14*14));% }
]
\pgfmathsetmacroFPU{\myR}{5*sqrt(451369)/14}
\path
coordinate (O) at (0, 0, 0)
coordinate (A) at (15, -60, 20)
coordinate (B) at (96, 120, 128)
coordinate (C) at (63, 84, 56)
coordinate (I) at (-1383/14, 90/7, 1528/7)
;
\begin{scope}[tdplot_screen_coords]
\draw[thick] (I) circle[radius=\myR];
\end{scope}
\end{tikzpicture}
\end{document}