我想在 LaTeX 的图片环境中绘制三个向量。一个向量 $x$ 从原点到点 (1,2),另一个向量 $y$ 从原点到点 (3,1),和 $x + y$ 从原点到 (4,3)。$x$ 的长度为 \sqrt{5},$y$ 的长度为 \sqrt{10},$x + y$ 的长度为 5。因此,$x + y$ 的长度应比 $x$ 的长度长 2.2 倍以上,而 $x + y$ 的长度应比 $y$ 的长度长 1.5 倍以上。这未在图中显示出来。$x$ 和 $x + y$ 的长度看起来相同。
我认为水平轴的缩放比例可能与垂直轴不同。您可以看到 x 轴的长度与 y 轴的长度相同,我将宽度和高度都设置为 100(单位)。有人对此有什么评论吗?(我已使用 TikZ 包正确显示这些向量。)LaTeX 中的图片环境真的那么糟糕吗?
这是代码。(我把三个向量的长度都乘以 10。所以,$x$ 的长度不是 2.236068,大约是 \sqrt{5},而是 22.36068,大约是 10\sqrt{5}。)
\setlength{\unitlength}{1mm}
\begin{picture}(100,100)
\put(0,10){\vector(1,0){100}}
\put(102,8){$x$}
\put(10,0){\vector(0,1){100}}
\put(12,98){$y$}
\put(10,10){\vector(1,2){22.36068}}
\put(10,10){\vector(3,1){31.622777}}
\put(10,10){\vector(4,3){50}}
\end{picture}
答案1
\vector
和的语法\line
规定长度参数必须是水平的距离,垂直线除外,垂直线表示垂直距离。因此,你的图片应该是:
\setlength{\unitlength}{1mm}
\begin{picture}(100,100)
\put(0,10){\vector(1,0){100}}
\put(102,8){$x$}
\put(10,0){\vector(0,1){100}}
\put(12,98){$y$}
\put(10,10){\vector(1,2){10}}% 10 by 20
\put(10,10){\vector(3,1){30}}% 30 by 10
\put(10,10){\vector(4,3){40}}% 40 by 30
\end{picture}
使用包pict2e
不会改变这一点,但它确实允许任意长度和任意斜率。