FBD 相对点的新轴

FBD 相对点的新轴

我是新手TikZ,正在研究使用相对点的 FBD。我想为每个新的方向变化添加新的 x、y 轴。我尝试过类似以下方法:使用 PGFplots/tikz 的抛射运动图?

但是,这似乎不适用于相对点(当然我可能遗漏了一些显而易见的东西)。

\documentclass{article}

\usepackage{tikz}

\usepackage{pgfplots}

\usetikzlibrary{scopes}

\begin{document}

\def\fangle{148}

\def\llangle{38}

\def\ulangle{185}

\def\ubangle{31}

\def\flength{1.6cm}

\def\lllength{3.5cm}

\def\ullength{3.8cm}

\def\ublength{5.6cm}

\begin{tikzpicture}[

    % force lines
    force/.style={>=latex,draw=blue,fill=blue},

    % axis lines
    axis/.style={densely dashed,gray,font=\small},

    % foot
    F/.style={thick}

    % lower leg
    LL/.style={thick}

    % upper leg
    UL/.style={thick}

    % upper body
    UB/.style={thick}
]
    
\draw[blue,line width=2pt] (0,0) -- (\fangle:\flength) -- ++ (\llangle:\lllength) -- ++ (\ulangle:\ullength) -- ++ (\ubangle:\ublength);

%\draw[axis,->] (0,0) -- (1,0);


\end{tikzpicture}

\end{document}

编辑 2:我尝试使用相对坐标将点更改为坐标,这样我就可以将轴移出坐标点。但是,即使排版成功,也没有出现任何内容。

\coordinate (O) at (0,0);

\coordinate (F) at (O) -- ++ (\fangle:\flength);

\coordinate (LL) at (F) -- ++ (\llangle:\lllength); 

\coordinate (UL) at (LL) -- ++ (\ulangle:\ullength);

\coordinate (UB) at (UL) -- ++ (\ubangle:\ublength);


\draw[blue, line width = 2pt] (O) -- ++ (F) -- ++ (LL) -- ++ (UL) -- ++ (UB);

编辑 3:这可以命名坐标。但是,现在我需要弄清楚如何使用它们将轴添加到每个方向的变化中。FBD 看起来类似于下面的图片。因此,如果能帮助我如何标记等,我将不胜感激!不过,我相信一旦我能让轴工作起来,我就能弄清楚。

\draw[blue,line width=2pt] (0,0) coordinate (O) node[red]{.} -- ++ (\fangle:\flength) coordinate (F) node[red]{.} -- ++ (\llangle:\lllength) coordinate (LL) node[red]{.} -- ++ (\ulangle:\ullength) coordinate (UL) node[red]{.} -- ++ (\ubangle:\ublength) coordinate (UB)node[red]{.};

答案1

欢迎来到 TeX.SE!

作为起点....我把完成的图像留给你:-)

\documentclass[margin=3mm]{standalone}
\usepackage{siunitx}                    % new
\usepackage{tikz}
\usetikzlibrary{angles, arrows.meta,    % new
                quotes,                 % new
                scopes} % where is needed?

\begin{document}

\def\fangle{148}
\def\llangle{38}
\def\ulangle{185}
\def\ubangle{31}
\def\flength{1.6cm}
\def\lllength{3.5cm}
\def\ullength{3.8cm}
\def\ublength{5.6cm}

\begin{tikzpicture}[auto=right,
every edge quotes/.append style = {font=\footnotesize},
my angle/.style = {draw, densely dotted,
                   angle radius = 5mm,
                   angle eccentricity=1.4,
                   font=\tiny},
        > = Latex,    % new
% force, vertical
Fv/.style = {->, draw=#1, thick}, % changed
    % axis lines
    axis/.style={densely dashed,gray,font=\small},
    % foot
    F/.style={thick}
    % lower leg
    LL/.style={thick}
    % upper leg
    UL/.style={thick}
    % upper body
    UB/.style={thick}
                    ]

\draw[blue,line width=2pt] 
    (0,0) coordinate (S)
          -- ++ (\fangle:\flength/2)      coordinate (Am)
          -- ++ (\fangle:\flength/2)      coordinate (A)
          -- ++ (\llangle:\lllength/2)    coordinate (Bm)
          -- ++ (\llangle:\lllength/2)    coordinate (B)
          -- ++ (\ulangle:\ullength/2)    coordinate (Cm)
          -- ++ (\ulangle:\ullength/2)    coordinate (C)
          -- ++ (\ubangle:\ublength/2)    coordinate (Dm)
          -- ++ (\ubangle:\ublength/2)    coordinate (D);
% "axis" /dashed lines)
\draw[axis] (-3,0) coordinate (aux) -- (aux -| D);
\draw[axis] (aux |- A) -- (A -| D) coordinate (Ad);
\draw[axis] (aux |- B) -- (B -| D);
\draw[axis] (aux |- C) -- (C -| D);
\draw[axis] (aux |- Dm) coordinate (Dam) -- (Dm -| D);
% angles
\pic [my angle, "\ang{148}"]    {angle = A--S--aux};
\pic [my angle, "\ang{38}"]     {angle = Ad--A--B};
\pic [my angle, "\ang{5}"]      {angle = C--B--A};
\pic [my angle, "\ang{31}"]     {angle = B--C--D};
% forces
\draw[Fv=brown]  (S)  to["$F_N$"] ++ (0,+0.8);
\draw[Fv=blue]   (Am) to["$W_F$"] ++ (0,-0.8);
\draw[Fv=purple] (Bm) to["$W_{LL}$" '] ++ (0,-0.8);
\draw[Fv=orange] (Cm) to["$W_{UL}$"]   ++ (0,-0.8);
\draw[Fv=red]    (Dm) to["$W_{UL}$" '] ++ (0,-0.8);
\draw[Fv=red]    (C) ++ (\ubangle:-1.2) coordinate (Fsb) to["$W_{SB}$" ', sloped] (C);

\draw[axis]      (Fsb) ++ (-1,0) -- (Fsb -| C) coordinate (Fsbc);
\pic [my angle, "$31$"]     {angle = Fsbc--Fsb--C};

\draw[Fv=green]  (Dm) to["$F_{M}$" ', sloped]  ++ (195:5) coordinate (Fm);
\pic [my angle, "$\theta$"]     {angle = Dam--Dm--Fm};
\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容