首先,我想说我一直在论坛中寻找答案,但没有找到。我的问题是我不知道如何将一条正常的线连接到我以“name path=chord”命名的另一个节点。我的目标是通过节点“cent”创建线。这可能吗?我的意思是,我可以使用相对名称(如“cent”和“chord”)在它们之间创建线?谢谢。
\documentclass[12pt,titlepage]{book}
\usepackage[spanish]{babel}
\usepackage[utf8x]{inputenc}
\usepackage{graphicx}
\usepackage{tikz}
\thispagestyle{empty}
\usetikzlibrary{calc}
\usepackage{tkz-euclide}
\usetikzlibrary{intersections}
\begin{document}
\begin{tikzpicture}
\draw[rotate=6.7,line width=0.5pt,fill=black!9.9] plot[] file {S809.41.txt};
\draw [name path=chord,rotate=6.7] (3.41,0)--(0,-0.0000698) node (cent)[pos=0.75]{};
\end{tikzpicture}
\end{document}
答案1
我不确定我是否理解正确。对于第一部分,你可以使用极坐标;例如
\draw (<name>) -- +(<angle>:<length>);
<angle>
绘制一条与度相等的线段<name>
,其长度为<length>
。
对于另一部分(绘制给定线的垂直线),您可以使用库calc
和
\draw ( $ (<name1>)!(<name2>)!(<name3>) $ ) -- (<name2>);
因为给出了从到 的直线上( $ (<name1>)!(<name2>)!(<name3>) $ )
的投影,或者包。下面的示例显示了这两个选项:(<name2>)
(<name1>)
(<name3>)
tkz-euclide
\documentclass[12pt,titlepage]{book}
\usepackage{tikz}
\usetikzlibrary{intersections,calc}
\usepackage{tkz-euclide}
\begin{document}
\begin{tikzpicture}
%\draw[rotate=6.7,line width=0.5pt,fill=black!9.9] plot[] file {S809.41.txt};
\draw [name path=chord,rotate=6.7] (3.41,0)--(0,-0.0000698) node (cent) [pos=0.75]{a};
\foreach \angle in {0,20,...,340}
\draw[cyan] (cent.center) -- +(\angle:1cm);
\end{tikzpicture}
\begin{tikzpicture}[
point/.style={
circle,
inner sep=1pt,
fill,
label=$#1$
}
]
\node[point=a] at (0,0) (a) {};
\node[point=b] at (4,2.5) (b) {};
\node[point=c] at (4,1) (c){};
\node[point=d] at (1,3) (d){};
\draw[cyan] (a) -- (b);
\draw[orange] ( $ (a)!(c)!(b) $ ) -- (c);
\draw[magenta] ( $ (a)!(d)!(b) $ ) -- (d);
\begin{scope}[xshift=7cm]
\tkzDefPoint(0,0){a}
\tkzDefPoint(4,2.5){b}
\tkzDefPoint(4,1){c}
\tkzDefPoint(1,3){d}
\tkzDrawLine[color=cyan](a,b)
\tkzDrawPoints(a,b,c,d)\tkzLabelPoints(a,b,c,d)
\tkzDefLine[orthogonal=through c](a,b)
\tkzDrawLine[add = 0.1 and -0.5,color=orange](c,tkzPointResult)
\tkzDefLine[orthogonal=through d](a,b)
\tkzDrawLine[add = 0.5 and -1,color=magenta](d,tkzPointResult)
\end{scope}
\end{tikzpicture}
\end{document}