在图片环境中显示矢量图

在图片环境中显示矢量图

我想在 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不会改变这一点,但它确实允许任意长度和任意斜率。

相关内容