35 luadraw画直线时候,scale选项问题

发布于 2026-10-05 22:24:29

当scale=1,显示效果是对的,如下图蓝色直线

1.png

可是当我设置为scale=0.5,我以为会以直线中心为基准,两侧同时缩短,直至直线长度为原来的一半,但结果是偏移到左下角了,如下图,这是为什么呢?

0.5.png

查看更多

关注者
0
被浏览
25
1 个回答
Sagittarius Rover
Sagittarius Rover 3小时前
这家伙很懒,什么也没写!

需要提供上述代码...不然没有人能回答...

大猜测时代

没有代码其实很难猜测...但要注意的是,对于g:Dline3d方法,并没有scale选项...我在这里提过类似的议题,作者说请改用g:Dseg3d:

\documentclass[]{standalone}
\usepackage[3d]{luadraw}
\usepackage[svgnames]{xcolor}
\usepackage{fourier-otf}
\begin{document}
    \begin{luadraw}{name=Dline_scale}
    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 g = ld.graph3d:new{
        window3d = {-5,5,-5,5,-5,5},
        window = {-2,5,-1,4},
        viewdir = {"yz",0.75,40}
    }
    g:Dpolyline3d({{Origin,2*vecI},{Origin,4*vecJ},{Origin,4*vecK}},"semithick,-Stealth")
    g:Dline3d({3*vecK,vecJ},"teal,thick")
    g:Dseg3d({2*vecK-vecJ,2*vecK+vecJ},1,"magenta,thick")
    g:Dseg3d({vecK-vecJ,vecK+vecJ},0.5,"cyan,thick")
    g:Show()
    \end{luadraw}
\end{document}

image.png

撰写答案

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

发布
问题

分享
好友

手机
浏览

扫码手机浏览