TikZ 中与射线的交点

TikZ 中与射线的交点

有人能告诉我如何在 TikZ 中计算射线和物体的交点吗?通常语法是intersection of p1--p2 and p3--p4,但我想将 p1 到 p2 的线段与从 p3 开始并朝方向 e 的射线相交。使用 TikZ 可以做到这一点吗?

答案1

你可以通过将线 p1 到 p2(AB在下面的代码示例中调用)与未绘制的“无限长”(例如一米……)路径相交来作弊。你必须在定义“射线”后重置边界框,否则你的射线tikzpicture会太大。

\documentclass{minimal}
\usepackage{tikz}
\usetikzlibrary{intersections}
\usetikzlibrary{backgrounds} % Only used for showing the bounding box
\begin{document}

\begin{tikzpicture}[show background rectangle]
\coordinate (C) at (1,1);
\path [name path=Cray] 
  \foreach \n in {-45,-40,...,45}{ (C) -- +(\n:100cm) };
\pgfresetboundingbox

\draw [name path=AB] (3,-2) .. controls(10,0) and (8,5) .. (8,5);
\draw [red,name intersections={of=AB and Cray,sort by=AB,total=\t}] 
  \foreach \i in {1,...,\t} { (C) -- (intersection-\i) };
\end{tikzpicture}

\end{document}

tikz 中射线与线相交

答案2

一种快速解决方法是创建一个距离p4alt为某个标准距离的点,例如1cm,距离为p3,然后p3--p4alt在您的交点规范中使用;无需绘制该点p4alt本身。如果,例如,e距离为 115 度,您将使用 来\draw (p3) ++(115:1cm) coordinate (p4alt) ;设置从 的射线p3

相关内容