我正在尝试创建一个物体的自由体图,更具体地说是猎户座飞船。我正在尝试创建一个由矢量组成的图表,其中 F_g 指向下方,F_D(阻力)指向与此图中的 T 类似的角度
我真的不知道从哪儿开始。
答案1
首先,欢迎来到特克斯。
你可能想知道为什么你的问题被否决了。问题主要是你提出了一个问题,但没有表明你为解决这个问题付出了任何努力。虽然这个网站旨在帮助解决具体问题,但它并不打算为你做工作。我想你(而不是其他人)标记了这个问题tikz-pgf,因此您可以使用您选择的搜索网站并搜索,例如tikz 手册。这可能会产生类似这样的结果:
- TikZ 和 PGF 手册。这里有大约 700 页的手册,其中包括 5 个非常详尽的入门教程。
- TikZ 的简单介绍。如果您不想读太多内容,这 24 页内容可以直接切入正题,您应该很快就能了解基本思想。
在开始阅读其中至少一篇之后,开始尝试以下事情:
- 如何画三角形,
- 如何填充,
- 如何以一定角度画线,
- 如何获得箭头等等。
只有通过尝试,你才能真正获得答案。然后,如果你真的遇到了难题,无法解决,请随时在这里提问。这样每个人都能获得好处:你在 TikZ 上学到新东西,这个网站对特定问题有新的答案,将来寻找类似问题的人将能够找到这个问题和(可能,希望)许多不错的解决方案。
但像这样,不太可能有人会从这个问题中获益良多:你得到了答案,但我怀疑你是否学到了很多东西,或者是否能够自己画出下一幅复杂的图。所以请先自己尝试一下。如果你遇到问题,请发布一个具体的问题,包括一个最小的工作示例,可能还有一张图片。
答案2
你可以尝试这个
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\begin{document}
\def\ANGLE{25}
\begin{tikzpicture}
\begin{scope}
\draw[fill=blue!50] (0,0) coordinate(O) -- (\ANGLE:5) coordinate(A) coordinate[pos=0.6](M) |- (O);
\draw (A)--++(\ANGLE:0.5)coordinate(P) ;
\draw (A) -- (P) circle (0.3);
\begin{scope}[shift={(M)},rotate=\ANGLE]
\draw[fill=yellow] (M) rectangle ++(0.6,0.6)coordinate(N);
\path (M) -- (N)coordinate[pos=0.5](G);
\path (N) |- (M) coordinate[pos=0.25](J);
\draw[red] (J) -- (J-|P);
\end{scope}
\begin{scope}
\path(P) --++(0.3,0)coordinate(D);
\draw (D) --++(0,-1)coordinate(K) --++(-0.3,0)coordinate(L) ;
\draw[fill=green] (L) rectangle ++(0.6,-0.6);
\end{scope}
\end{scope}
\end{tikzpicture}
\hfill
\begin{tikzpicture}
\begin{scope}[shift={(M)},rotate=\ANGLE]
\draw[dashed,gray,-latex] (G) -- ++(3,0)node[above]{$\overrightarrow{x}$};
\draw[dashed,gray,-latex] (G) -- ++(0,3)node[right]{$\overrightarrow{y}$};
\draw[fill=yellow] (M) rectangle ++(0.6,0.6)coordinate(N);
\path (M) -- (N)coordinate[pos=0.5](G);
\path (N) |- (M) coordinate[pos=0.25](J);
\draw[red] (J) -- (J-|P);
\draw[red,-latex,thick] (G) -- ++(0,2)node[right]{N};
\draw[red,-latex,thick] (G) -- ++(-1,0)node[above]{T};
\draw[-latex] (J) -- ++(2,0);
\end{scope}
\draw[blue,thick,-latex] (G)node[right]{G} --++(0,-2)node[right]{P};
\end{tikzpicture}
\hfill
\begin{tikzpicture}
\begin{scope}
\draw[fill=green] (L) rectangle ++(0.6,-0.6)coordinate(Q);
\path(L) -- (Q) coordinate[pos=0.5](G2);
\draw[-latex] (G2) -- ++(0,-1.5)node[right]{$m\cdot g$};
\draw[-latex] (G2|-L) -- ++(0,1.5)node[right]{$T'$};
\end{scope}
\end{tikzpicture}
\end{document}
答案3
好的,我能理解。但我不知道你的图会是什么样子。从你提到两个向量的问题来看,这可能有助于你入门。
\begin{tikzpicture}
\draw[-stealth] (-1,0) arc (-80.0026:40:1) ;
\draw [-latex,very thick] (-1,1) -- node [above,near end,rotate=90] {$F_{g}$}(-1,-2);
\draw [-latex,very thick](-1,1) -- node [above,near end,rotate=48] {$F_{D}$} (1,3);
\node at (0,0.5) {$\alpha$};
\end{tikzpicture}
PS:如果你发现对所有东西进行硬编码太困难,你可以看看inkscape
关联。在 Inkscape 中绘制非常容易。然后您可以使用导出图表inkscape2tikz
关联到 tikz 代码。
编辑您可以使用韓國也是。它是一个半图形的 tikz 编辑器,具有许多易于绘图的工具。
如果你想尝试,我建议你尝试一下kTikz/Qtikz也。希望开始不会很苦涩。