我无法正确放置 alpha 角以及该图的其余部分。
我的最小工作示例(MWE):
\documentclass[tikz,border=5mm]{standalone}
\usetikzlibrary{decorations.pathreplacing}
\begin{document}
\begin{tikzpicture}[scale=1]
\fill[white] (-1,-5) rectangle (10,5);
\draw[thin] (0,0) grid (17,5);
\draw[line width=2pt] (0,4)--(15,4);
\draw[decorate,decoration={border,amplitude=0.6cm}] (0,4)--(15,4);
\path
(3,6.5) node{A}
(8,4.2) node{B}
(3,4.2) node{C}
(4,5) node{$\theta$}
(4,4)node{$\vec{F}$};
\begin{scope}[rotate around={-30:(2.69,0)}]
\draw[line width=2pt](-1,5)--(5,6);
\shade[ball color=blue!100!green!150,opacity=5](2,6.02)circle (0.5);
\shade[ball color=blue!100!green!150,opacity=5](8,8.29)circle (0.5);
\end{scope}
\draw[blue] (6.5421,4.449225) arc(91:180:0.4515) node[midway,left]{$\alpha$};
\draw (11.49,4.5)--(15,4.5);
\draw[line width=2pt,rotate around={30:(5,-1)}](13.59,0.77)--(17,0.8);
\end{tikzpicture}
\end{document}
我使用 \documentclass[12pt]{article}
答案1
帮助 OP 构图简单角度的东西
我们所需要的只是选择三个坐标来包围角度——在这种情况下,坐标是B, C, D
——在你的代码中,你可以根据需要修改坐标的选择
\documentclass[tikz,border=5pt]{standalone}
\usetikzlibrary{calc}
\usetikzlibrary{angles,intersections,quotes}
%\usepackage{tkz-euclide}
\begin{document}
\begin{tikzpicture}
\draw [blue!70!black, thick]
(0,0)coordinate[label=-90:A](A) --
(1,0)coordinate[label=-90:B](B) --
(10,0) coordinate[label=-90:C](C);
\draw[blue!70!black, thick]
(B) --
+(20:9cm)coordinate[label=90:D](D);
\pic[ draw,
<->,
>=stealth,
red!60!black,
"$\alpha$"{fill=red!20},
inner sep=1pt,
circle,
angle eccentricity=1.1,
angle radius = 20mm]
{angle = C--B--D};
\end{tikzpicture}
\end{document}
输出
请注意,改变坐标顺序将影响角度——最初的顺序是 CBD,现在改为 DBC
\begin{tikzpicture}
\draw [blue!70!black, thick]
(0,0)coordinate[label=-90:A](A) --
(1,0)coordinate[label=-90:B](B) --
(10,0) coordinate[label=-90:C](C);
\draw[blue!70!black, thick]
(B) --
+(20:9cm)coordinate[label=90:D](D);
\pic[ draw,
<->,
>=stealth,
red!60!black,
"$\alpha$"{fill=red!20},
inner sep=1pt,
circle,
angle eccentricity=1.1,
angle radius = 20mm]
{angle = D--B--C};
\end{tikzpicture}
输出
另外,对代码进行实验将对\alpha
角度的放置提供更多的见解——例如修改上述代码中的eccentricity
和angle radius
angle eccentricity=-1.1,
angle radius = 13mm
{angle = D--B--C};
将导致
希望这有助于构建一个清晰的角度
答案2
这让我想起LaTeX 中的倾斜物体但这个图表不太混乱。
但主要的要点是一样的:不要做 TikZ 可以轻松为您完成的三角学!
除了图片,我们还可以沿路径放置一个常规圆形节点,即使是倾斜的路径,TikZ 也会确保它是切线/平行的。(由于球没有自己的绘制边框,我们可以使用原始路径来\pgflinewidth
稍微调整其位置,以便它实际上只接触线。为此,我们还设置outer sep
归零或auto
,这也确保了F矢量线恰好从球处开始。)
给出重要的坐标名称,然后我们可以angle
使用angles
图书馆绘制α和θ角度,无需进行任何计算。图片为您完成了这些工作。
代码
\documentclass[tikz, border=5mm]{standalone}
\usetikzlibrary{angles, arrows.meta, decorations.pathreplacing, quotes}
\tikzset{
ball above the line/.style={
sloped, allow upside down, above=.5\pgflinewidth, outer sep=+0pt,
minimum size=1cm, shape=circle, ball color=blue!50},
border/.style={
decoration={name=border, amplitude=.6cm, #1},
postaction={draw, thin, decorate}}}
\begin{document}
\begin{tikzpicture}[>=Latex, angle radius=1cm, angle eccentricity=1.25]
\draw[line width=2pt, border=reverse path]
(3, 4) coordinate (left)
-- coordinate["$B$"] (B)
node[ball above the line, near end] (right ball) {}
(15,4) coordinate (right);
\draw[thick]
(3, 6.5) coordinate["$A$"] (A)
-- node[ball above the line, near start] (left ball) {}
(B);
\path[at end]
(right ball.east) coordinate (rb)
edge[->, "$\vec F$"] coordinate (rb-tr) +(30:2)
edge[dotted] coordinate (rb-r) +( 0:2);
\pic["$\alpha$", draw] {angle=A--B--left};
\pic["$\theta$", draw] {angle=rb-r--rb--rb-tr};
\end{tikzpicture}
\end{document}