全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 LATEX论坛
982 1
2015-09-30
\begin{center}
\begin{tikzpicture}
%%%% floor
%%%%%%  circle of pole
\tikzmath{
\a = sin(30);
\b = cos(30);
\bb = -\b+0.2;
\lp=-1.5;
\rp=1.5;
\cartleft=1;
\cartoff1=0.2;
%\mycount = log10(2048) / log10(2);
%\mydimen = 15^2;
}
\draw (\lp,0) to (\rp,0);
\foreach \x in {1,...,15} {
    \coordinate (m\x) at (0.2*\x+\lp,0);
    \coordinate (n\x) at (0.2*\x+\lp-0.1,-0.1);
    \draw (m\x) to (n\x);
      }
\pgfmathsetmacro{\offset}{0.35}
\pgfmathsetmacro{\lrp}{-\cartleft+\offset}
\pgfmathsetmacro{\rrp}{\cartleft-\offset}
\pgfmathsetmacro{\radi}{\cartoff1}
%%%%%% cart
\pgfmathsetmacro{\cartheight}{1}
\pgfmathsetmacro{\cartcriclep}{-1.5}
\def\rectanglepath{-- ++(2cm,0cm) -- ++(0cm,\cartheight cm) -- ++(-2cm,0cm) -- cycle}
\fill[opacity=0.5,green!20!white] (-\cartleft,\radi) \rectanglepath;
\draw (-\cartleft,\radi) \rectanglepath;
%%%%%%  wheel 1 and wheel 2
\fill[orange] (\lrp,\radi) circle [radius=\radi cm];
\fill[blue!50] (canvas cs:x=\lrp cm,y=\radi cm) circle (1pt);
\fill[orange] (\rrp,\radi) circle [radius=\radi cm];
\fill[blue!50] (canvas cs:x=\rrp cm,y=\radi cm) circle (1pt);
%%%%%%  circle on the cart
\pgfmathsetmacro{\raditop}{\radi+1}
\draw (0,\raditop) circle [radius=0.5*\radi cm];
%%%%%%   pole 1 and pole 2
\pgfmathsetmacro{\polepoint}{1.5}
\pgfmathsetmacro{\poleheight}{\raditop}
\def\recpole1{rectangle ++(0.2cm,1.5cm)};
\pgfmathsetmacro{\angl}{30}
\pgfmathsetmacro{\angu}{25}
\pgfmathsetmacro{\angml}{90+\angl}
\pgfmathsetmacro{\angmu}{90+\angl+\angu}
\draw[yshift=\poleheight cm,rotate=\angl] (-0.1,0) \recpole1 [yshift=\polepoint cm, rotate=\angu](-0.1,0) \recpole1 (\angml:0 cm) coordinate (P1) circle [radius=0.5*\radi cm] (\angml:0 cm) coordinate (P2) circle (1pt);
\fill (canvas cs:x=0cm,y=\raditop cm) circle (1pt);
%%%%% angle note
\coordinate (point1) at (0cm,\raditop);
\coordinate (point2) at (P1);
\tikzmath{
\pos3=\raditop+0.85*\polepoint;
\pos1=\raditop+0.6*\polepoint*\b;
\pos2=\raditop+\polepoint;
}
\tikzmath{
\l=cos(90-25);
\pos1=\raditop+0.6*\polepoint*\b;
\pos2=\raditop+\polepoint;
}
%%%% angle 1
\draw[red] (point1)++(\angml:0.5*\polepoint cm) coordinate (m1) circle (1pt);
%%%% a_1
\draw[transform canvas={xshift=-0.2cm,yshift=-0.1cm},red,dashed,|-|](m1)--(point1) [xshift=-0.05cm,yshift=0.3cm] node[left=0.0pt] {$a_1$};
\path [draw,dashed] (point1)--(point2) [draw,blue!80,<-] (-\a+0.1 ,\pos1) arc(\angmu:90:0.5cm);
\draw[dashed,blue] (point1)--++(0cm,0.4*\pos3) node[right=0.8pt] {$m_1,I_1,J_1$} -- (0cm,\pos3) ;
%%%% angle 2
\draw[red] (point2)++(\angmu:0.5*\polepoint cm) coordinate (m2) circle (1pt);
%%%% a_2
\draw[transform canvas={xshift=-0.2cm,yshift=-0.2cm},red,dashed,|-|](m2)--(point2) [xshift=-0.1cm,yshift=0.05cm] node[left=0.0pt] {$a_2$};
\draw[dashed,blue!50] (point2)-- ++(0,1);
\pgfmathsetmacro{\angall}{\angmu}
\draw[dashed,blue!70] (point2)-- ++(\angall:\polepoint cm)
[draw,blue!70,<-] (point2)-- ++(\angall:0.4*\polepoint cm) node[left=3pt,xshift=-0.2cm] {$m_2,I_2,J_2$} arc(\angall:90:0.5cm);
%%%% varphi 1 --- varphi 2
\path (point1) ++(103:1.25cm) node{$\varphi_1$} ;
\path (point2) ++(110:0.85cm) node{$\varphi_2$};
%\fill[ultra nearly opaque]
\end{tikzpicture}
\end{center}
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-9-30 21:10:31
不错啊
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群