使用倾斜选项 tikz 时文本垂直于线

使用倾斜选项 tikz 时文本垂直于线

我正在尝试在沿着该线的线的顶部添加一些文本。我读过关于倾斜选项的文章,你可以将其传递给沿线定义的节点,这似乎应该可以实现我想要的功能,但它却做了完全相反的事情(将文本垂直于线而不是沿着线放置)。MWE 如下

\documentclass{article}

\usepackage{amsmath}
\usepackage{tikz}
\usepackage{tikz-3dplot}

\usetikzlibrary{calc,arrows,decorations.pathreplacing,plotmarks,positioning,angles}

\begin{document}

\tdplotsetmaincoords{30}{120}


\begin{tikzpicture}[tdplot_main_coords,cm={-1,-1,1,0,(0,0)},x=1in,y=0.75in,z=-1in,>=stealth']

    \coordinate (mapP) at (1,-2,3);

    \coordinate (map) at (4,6,2);


    \draw[dashdotted,->,blue,thick] (mapP) -- node[midway,anchor=south east,inner sep=0pt,text=blue,sloped]{$\textbf{v}_{sc-map}$} (map);
\end{tikzpicture}

\end{document}

输出类似 注意文本几乎垂直于线

我猜测问题可能是传递给 tikz 图片的 cm 选项(并且我相信这个猜测是正确的,因为当我删除该选项时文本可以正确显示)但这显然是一个更大项目的一部分并且我真的不想尝试弄清楚如何在没有该 cm 选项的情况下调整所有内容,因为项目的其余部分已经完成。

我的问题是,有人知道我该如何解决这个问题吗?或者有其他简单的方法可以让文本跟随线条?我知道旋转选项,但我不想弄清楚所需的旋转角度,因为我必须用这种方式标记大量的线条。

答案1

这是你的愿望,所以图片的效果取决于你的运气;-)。将 添加到选项transform shapetikzpicture,这样你施加的转换 ( cm={-1,-1,1,0,(0,0)}) 也适用于节点文本。

\documentclass{article}

\usepackage{amsmath}
\usepackage{tikz}
\usepackage{tikz-3dplot}

\usetikzlibrary{calc,arrows,decorations.pathreplacing,plotmarks,positioning,angles}

\begin{document}

\tdplotsetmaincoords{30}{120}


\begin{tikzpicture}[tdplot_main_coords,cm={-1,-1,1,0,(0,0)},x=1in,y=0.75in,z=-1in,>=stealth',transform shape]

    \coordinate (mapP) at (1,-2,3);

    \coordinate (map) at (4,6,2);


    \draw[dashdotted,->,blue,thick] (mapP) -- node[midway,anchor=south east,inner sep=0pt,text=blue,sloped]{$\textbf{v}_{sc-map}$} (map);
\end{tikzpicture}

\end{document}

在此处输入图片描述

答案2

[tdplot_main_coords,cm={-1,-1,1,0,(0,0)}根据我的测试,删除是可行的。

代码如下:

\documentclass[border=2pt]{standalone}
\usepackage{amsmath}
\usepackage{tikz}
\usepackage{tikz-3dplot}
\usetikzlibrary{calc,arrows,decorations.pathreplacing,plotmarks,positioning,angles}
\begin{document}
\tdplotsetmaincoords{30}{120}
\begin{tikzpicture}[tdplot_main_coords,x=1in,y=0.75in,z=-1in,>=stealth']
    \coordinate (mapP) at (1,-2,3);
    \coordinate (map) at (4,6,2);
    \draw[dashdotted,->,blue,thick] (mapP) -- node[midway,anchor=south east,inner sep=0pt,text=blue,sloped]{$\textbf{v}_{sc-map}$} (map);
\end{tikzpicture}
\end{document}

输出:

在此处输入图片描述

相关内容