30 用luadraw画了两个高度一样的棱柱,但显示不一样

发布于 2026-09-26 08:29:11

我画了两个棱柱,代码设置高度一样,但是输出结果不一样,这是为什么?
高度不一样.png

\documentclass{standalone}
\usepackage[3d]{luadraw}
\usepackage[svgnames]{xcolor}

\begin{document}
\begin{luadraw}{name=prism}
    local ld = luadraw
    local pt3d = ld.pt3d
    local M,Mc=pt3d.M,pt3d.Mc
    local g = ld.graph3d:new{
        window={-2,5,-1,7},
        bbox=false,
        viewdir={"yz",0.5,45}
    }
    local A,B,C=Mc(1,-120*ld.deg,0),Mc(1,0*ld.deg,0), Mc(1,120*ld.deg,0)
    local base={A,B,C}--底面变量
    local prism = ld.prism(base, M(2,0,3))--定义了一个棱柱(prism)变量,将下底面的3个顶点加上M(2,0,3),得到上底面的3个顶点
    g:Dpoly(prism,{
        mode=ld.mWireframe,
        hiddenstyle="dashed"
    })

    --开始画下面的棱柱
    local A1,B1,C1=A+M(2,0,3),B+M(2,0,3),C+M(2,0,3)
    local base1={A1,B1,C1}--底面变量
    local prism1 = ld.prism(base1, M(-2,0,3))
    g:Dpoly(prism1,{
        mode=ld.mWireframe,
        hiddenstyle="dashed"
    })

    local V = prism.vertices--将顶点信息存到变量V中,vertex表示顶点,vertices为其复数
    g:Dlabel3d("$A$",V[1],{pos="W", node_options="xshift=-0cm"})
    g:Dlabel3d("$B$",V[2],{pos="S", node_options="xshift=0cm"})
    g:Dlabel3d("$C$",V[3],{pos="E",  node_options="xshift=0cm"})
    g:Dlabel3d("$A_1$",V[4],{pos="W",node_options="xshift=0cm"})
    g:Dlabel3d("$B_1$", V[5],{pos="SE"})
    g:Dlabel3d("$C_1$", V[6],{pos="E"})

    g:Show()
\end{luadraw} 
\end{document}

查看更多

关注者
0
被浏览
14
0 个回答
暂无答案,快来添加答案吧

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览