挑一个玩玩...不妨假定目标是:

以下是基于 luadraw 的实现:
\documentclass{standalone}
\usepackage[3d]{luadraw}% lualatex needed
\usepackage[svgnames]{xcolor}
\usepackage{fourier-otf}
\begin{document}
\begin{luadraw}{name=circumsphere}
local ld = luadraw
local pt3d, cpx = ld.pt3d, ld.cpx
local M, Mc, Ms = pt3d.M, pt3d.Mc, pt3d.Ms
local Origin, vecI, vecJ, vecK = pt3d.Origin, pt3d.vecI, pt3d.vecJ, pt3d.vecK
local sqrt = math.sqrt
require 'luadraw_spherical'
local g = ld.graph3d:new{
window3d = {-5,5,-5,5,-5,5},
window = {-5,5,-5,5},
viewdir = {0,80}
}
ld.Hiddenlinestyle = "dashed"
local R, hBottom, hTop = 3, -1, 2.5
local O1, O2 = hBottom*vecK, hTop*vecK
local R1, R2 = sqrt(R^2-hBottom^2), sqrt(R^2-hTop^2)
local A1, A2 = Mc(R1,-30*ld.deg,hBottom), Mc(R2,-30*ld.deg,hTop)
g:Define_sphere{color = "",edgecolor = "black",edgewidth = 8,hiddenstyle = "dashed",mode = ld.mWireframe}
g:Dfrustum(O1,R1,R2,O2,{color="violet", edgecolor="black"})
g:Dpolyline3d({{O1,O2},{O1,A1},{O2,A2},{A1,A2}},"magenta,dashed,semithick")
g:Dpolyline3d({{Origin,A1},{Origin,A2}},"cyan,dashed,semithick")
g:Dballdots3d({Origin,O1,O2,A1,A2},"black",0.75)
g:Dlabel3d(
"$O$",Origin,{pos="E"},
"$O_1$",O1,{},
"$O_2$",O2,{},
"$A$",A1,{pos="S"},
"$A_1$",A2,{pos="SW"},
"$h$",(O1+O2)/2,{pos="E",node_options="text=magenta"},
"$r_1$",(O1+A1)/2,{pos="SE"},
"$r_2$",(O2+A2)/2,{pos="N"},
"$R$",A1/2,{pos="N",node_options="text=cyan"}
)
g:Dspherical()
g:Show()
\end{luadraw}
\end{document}

























问 如何用latex实现高中几何体的如下效果?例如正方体内切球