Here below is the proposal of luadraw package:
\documentclass[multi=luadraw]{standalone}
\usepackage[svgnames]{xcolor}
\usepackage[3d]{luadraw}
\usepackage{fourier}
\begin{document}
\begin{luadraw}{name=AAA}
local g = graph3d:new{
window3d={-2,5,-2,5,-1,8},
window={-1.5,3,-0.5,5},
viewdir={-120,75}, size={5,5}
}
g:Linewidth(8)
local v1, v2, v3 = M(3, 0, 0), M(0, 2, 0), M(0, 0, 4)
local p = parallelep(Origin, v1, v2, v3)
local ctr = (v1 + v2 + v3) / 2
for _, pt in ipairs(p.vertices) do
g:Dpolyline3d({ctr, pt}, "dashed")
end
g:Dpoly(p, {mode=mWireframe, hiddenstyle="solid"})
g:Dpolyline3d(
{{Origin, v1},{Origin, v2},{Origin, v3}}, "-latex, red, line width=1.2pt"
)
g:Dballdots3d(p.vertices, "blue", 0.6)
g:Dballdots3d(ctr, "blue", 0.6)
g:Dlabel3d(
"$\\vec{a}_1$", v1, {pos="S", node_options="red"},
"$\\vec{a}_2$", v2, {pos="W"},
"$\\vec{a}_3$", v3, {pos="N"}
)
g:Show()
\end{luadraw}
\begin{luadraw}{name=BBB}
local g = graph3d:new{
window3d={-2,5,-2,5,-1,8},
window={-1.5,3,-0.5,6.5},
viewdir={-120,75}, size={5,5}
}
g:Linewidth(8)
local v1, v2, v3 = M(3, 0, 0), M(0, 2, 0), M(0, 0, 5.5)
local p = parallelep(Origin, v1, v2, v3)
local ctr = (v1 + v2 + v3) / 2
for _, pt in ipairs(p.vertices) do
g:Dpolyline3d({ctr, pt}, "dashed")
end
g:Dpoly(p, {mode=mWireframe, hiddenstyle="solid"})
g:Dpolyline3d(
{{Origin, v1},{Origin, v2},{Origin, v3}}, "-latex, red, line width=1.2pt"
)
g:Dballdots3d(p.vertices, "blue", 0.6)
g:Dballdots3d(ctr, "blue", 0.6)
g:Dlabel3d(
"$\\vec{a}_1$", v1, {pos="S", node_options="red"},
"$\\vec{a}_2$", v2, {pos="W"},
"$\\vec{a}_3$", v3, {pos="N"}
)
g:Show()
\end{luadraw}
\begin{luadraw}{name=CCC}
local g = graph3d:new{
window3d={-4,4,-4,4,-4,4},
window={-2.5,4,-1,5.5},
viewdir={-120,75}, size={5,5}
}
g:Linewidth(8)
local v1, v2, v3 = M(4, 0, 0), M(0, 4, 0), M(0, 0, 4)
local p = parallelep(Origin, v1, v2, v3)
local centers = {}
for idx, f in ipairs(getfacet(p)) do
local c = isobar3d(f)
table.insert(centers, c)
for _, vertex in ipairs(f) do
if idx % 2 == 0 then
g:Dpolyline3d({c, vertex}, "densely dotted,line width=0.6pt")
else
g:Dpolyline3d({c, vertex}, "dashed")
end
end
end
g:Dpoly(p, {mode=mWireframe, hiddenstyle="solid"})
g:Dpolyline3d(
{{Origin, v1},{Origin, v2},{Origin, v3}}, "-latex, red, line width=1.2pt"
)
g:Dballdots3d(p.vertices, "blue", 0.6)
g:Dballdots3d(centers, "blue", 0.6)
g:Dlabel3d(
"$\\vec{a}_1$", v1, {pos="S", node_options="red"},
"$\\vec{a}_2$", v2, {pos="W"},
"$\\vec{a}_3$", v3, {pos="N"}
)
g:Show()
\end{luadraw}
\begin{luadraw}{name=DDD}
local g = graph3d:new{
window3d={-6,6,-6,6,-6,6},
window={-4,4,-1,6},
viewdir={-50,75}, size={5,5}
}
local pi, cos, sin = math.pi, math.cos, math.sin
g:Linewidth(8)
local v1, v2, v3 = M(3, 0, 0), M(-3*cos(pi/3), 3*sin(pi/3), 0), M(0, 0, 5)
local cell1 = parallelep(Origin, v1, v2, v3)
local cell2 = rotate3d(cell1, 120, {Origin, vecK})
local cell3 = rotate3d(cell1, -120, {Origin, vecK})
local bg_opt = {mode=mWireframe, edgecolor="gray!50", hiddenstyle="dashed"}
g:Dpoly(cell2, bg_opt)
g:Dpoly(cell3, bg_opt)
g:Dpoly(cell1, {mode=mWireframe, edgewidth=10, hiddenstyle="solid"})
g:Dpolyline3d({{Origin, v1}, {Origin, v2}, {Origin, v3}}, "-latex, red, line width=1pt")
g:Dballdots3d(cell2.vertices, "blue!50")
g:Dballdots3d(cell3.vertices, "blue!50")
g:Dballdots3d(cell1.vertices, "blue")
g:Dlabel3d(
"$\\vec{a}_1$", v1, {pos="S", node_options="red"},
"$\\vec{a}_2$", v2, {pos="NE",dist=0},
"$\\vec{a}_3$", v3, {pos="W"}
)
g:Show()
\end{luadraw}
\end{document}
I don't think what matters here is how to arrange the image into the tabular environment(you could have better control with tabualrray package), thus, the code above just show how to plot them in an elegant appraoch, and I only randomly choose and post four in your whole figure.
Noted that LLM is not sophisticated enough if you have high-quality requirement if the image(TikZ are always used to produced extremely high-quality ones), also, you only show what GPT gives you, you pay too less endeavour on it, from a hacker's view, I don't think you are deserved to get high-quality answer, only provide ugly and less-tweaked code. Please, pay enough time to plot the figure, if you really need high-qualitied ones.





















问 请问如何使用TIKZ绘制这样的图片呀?