Tikz 固体运动

Tikz 固体运动

我需要这张图片的帮助。

图片

这就是我昨天为拍摄一张类似的照片所做的事情。

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{pict2e}
\usepackage{pgfplots}
\pgfplotsset{compat=1.15}
\usepackage{mathrsfs}
\usetikzlibrary{arrows}
\usetikzlibrary{fadings}
\usepackage{graphicx}
\usepackage{tikz,tkz-tab}

\usepackage[T1]{fontenc}
\usepackage{beton, euler}

\begin{document}

\begin{tikzpicture}[scale=1]
        \fill[white](5,5)rectangle(5,5);
        \draw[line width=1.5pt](0,2)--(6,2);
        \coordinate (B) at (6,2);
        \coordinate (M) at (7.3,2.2);
        \coordinate (C) at (8,3);
        \coordinate (O) at (6,3);
        % Dessiner les points
        \fill (B) circle (1.5pt) node[below left] {$B$};
        \fill (M) circle (1.5pt) node[below] {$M$};
        \fill (C) circle (1.5pt) node[below right] {$C$};
        \fill (O) circle (1.5pt) node[below right] {$O$};
        % Dessiner l'arc passant par les 3 points
        \draw[line width=1.5pt] plot [smooth] coordinates {(B) (M) (C)};
        \begin{scope}[rotate around={90:(6,2)}]
        \draw[line width=1pt](6,2)--(7,2);
        \end{scope}

        \draw[line width=1pt](6,3)--(14,3);

        \begin{scope}[rotate around={20:(8,3)}]
        \draw[line width=1.5pt](8,3)--(14,3);
        \end{scope}
        \shade[ball color=blue!100,opacity=5](2,2.5)circle (0.5)node[above]{$\mathcal{S}$};
        \draw[line width=1pt](2.4,2.5)--(5,2.5);

        \begin{scope}[rotate around={30:(2.4,2.5)}]
            \draw[-latex,red,line width=1.5pt](2.4,2.5)--(4,2.5)node[above]{$\vec{F}$};
        \end{scope}

        \shade[ball color=yellow!100,opacity=1](11,4.64)circle (0.5)node[above]{$\mathcal{S}$};
        \draw[line width=1pt](2.4,2.5)--(5,2.5);

        \coordinate (B) at (6,2);
        \coordinate (M) at (7.3,2.2);
        \coordinate (C) at (8,3);
        \fill (B) circle (1.5pt);
        \fill (M) circle (1.5pt);
        \fill (C) circle (1.5pt);
        % Dessiner l'arc passant par les 3 points
        \draw[line width=1.5pt] plot [smooth] coordinates {(B) (M) (C)};

        \coordinate (A) at (0.38, 1.48);
        \coordinate (A') at (5.5, 2.7);
        \fill (A') circle (0pt) node[below right] {$r$};

        \coordinate (A'') at (6.5, 3);
        \fill (A'') circle (0pt) node[above right] {$r$};

        \coordinate (D') at (13.6, 5.05);
        \fill (D') circle (1.5pt);

        \begin{scope}[rotate around={-90:(13.6, 5.0)}]
            \draw[line width=1pt](13.6,5.0)--(15,5.0);
        \end{scope}

        \coordinate (D) at (13.7, 4.5);
        \fill (D) circle (0pt)node[above right] {$D$};

        \coordinate (A''') at (12,5.3);
        \fill[green, line width=1.5pt] (A''') circle (0pt) node[above right] {fil};

        \coordinate (P) at (13.81,5.6);
        \fill (P) circle (0.5pt);

        \coordinate (center) at (13.81,5.6);
        % Rayon du cercle
        \def\radius{0.2}
        
        % Dessiner le cercle
        \draw[red, line width=1.5pt] (center) circle (\radius)node[below right] {$\text{Poulie}$};
        
        % Dessiner le centre
        \fill (center) circle (2.5pt);

        \coordinate (B') at (3,2.825);
        \coordinate (M') at (3.2000005,2.7);
        \coordinate (C') at (3,2.5);
        \fill (A) circle(0pt);
        \fill (A) circle (0pt) node[above right] {$A$};

        %\fill (B') circle (1.5pt);
        %\fill (M') circle (1.5pt);
        %\fill (C') circle (1.5pt);
        % Dessiner l'arc passant par les 3 points
        \draw[red,line width=0.7pt] plot [smooth] coordinates {(B') (M') (C')}node[below]{$\alpha$};
        
        \begin{scope}[rotate around={30:(5.5,4)}]
            \draw[-latex, blue, line width=1.5pt](6,4)--(10,4)node[above]{$\text{sens du mouvement}$};
        \end{scope}

        \begin{scope}[rotate around={21:(11.5,4.7)}]
            \draw[green, line width=1.5pt](11.5,4.7)--(14,4.7);
        \end{scope}

        \coordinate (E) at (13,4.8);
        \coordinate (F) at (13.35,4.5);
        \coordinate (G) at (13.58,4.5);
        \fill (A) circle(0pt);
        \fill (A) circle (0pt) node[above right] {$A$};

        %\fill (B') circle (1.5pt);
        %\fill (M') circle (1.5pt);
        %\fill (C') circle (1.5pt);
        % Dessiner l'arc passant par les 3 points
        \draw[red,line width=0.7pt] plot [smooth] coordinates {(E) (F) (G)}node[below left]{$\alpha$};
    \end{tikzpicture}
\end{document}

正如你所见,我用的是球而不是方形的

答案1

这正在起作用。

谢谢你的帮助。

 \begin{tikzpicture}[scale=1]
        \fill[white](5,5)rectangle(5,5);

        \begin{scope}[rotate around={-20:(6,4)}]
            \draw[line width=1.5pt](1,4)--(6,4);
        \end{scope}

        \coordinate (A) at (1.35,5.7);
        \coordinate (B) at (6,4);
        \coordinate (M) at (7,3.89);
        \coordinate (M') at (7.2888,3.5);
        \coordinate (C) at (7.2,3);
        \coordinate (O) at (6,3);
        \coordinate (D) at (14,3);
        \coordinate (O') at (1,4);
        \coordinate (C') at (11.5,3.5);
        \coordinate (C') at (11.5,3.5);
        \coordinate (D') at (14,4.5);
        \coordinate (E) at (14,3.5);
        
        \fill (A) circle (1.5pt) node[above right] {$A$};
        \fill (B) circle (1.5pt) node[below left] {$B$};
        \fill (M) circle (1.5pt) node[above] {$M$};
        \fill (C) circle (1.5pt) node[below right] {$C$};
        \fill (O) circle (1.5pt) node[below right] {$O$};
        \fill (D) circle (1.5pt) node[below right] {$D$};

         %Dessiner l'arc passant par les 3 points
        \draw[line width=1.5pt] plot [smooth] coordinates {(B) (M) (M') (C) };

        \draw[line width=1pt] (O) -- (B);

        \draw[line width=1pt] (O) -- (M);

        \draw[line width=1pt] (O) -- (D);

        \draw[line width=1pt] (O') -- (B);

        \draw[line width=1pt] (C') -- (D');

        \draw[line width=1pt] (C') -- (E);

        \pic[ draw,
            inner sep=1.5pt, 
            circle, 
            angle eccentricity=1.5, 
            angle radius = 10mm] 
                        {angle = A--B--O'}; 

        \pic[ draw,
            inner sep=1.5pt, 
            circle, 
            angle eccentricity=1.5, 
            angle radius = 10mm] 
                        {angle = E--C'--D'};

        \pic[ draw,
            inner sep=1.5pt, 
            circle, 
            angle eccentricity=1.5, 
            angle radius = 5mm] 
                        {angle = C--O--M};

        \shade[ball color=red!100,opacity=1](3,5.648)circle (0.5)node[above]{$\mathcal{S}$};

        \shade[ball color=red!100,opacity=1](11, 3.5)circle (0.5)node[above]{$\mathcal{S}$};

        \begin{scope}[rotate around={-30:(10,8)}]
            \draw[-latex, blue, line width=1.5pt](6,5)--(10,5)node[above]{$\text{sens du mouvement}$};
        \end{scope}
    \end{tikzpicture}

相关内容