先建一個圓柱,一個長方體作為杆,把長方體的中心軸移到一邊的位置
點擊放大
這個圓柱得截麵半徑最好設置為個整數,長方體的長,也最好是整數,有利於後麵的表達式
再在長方體後麵加以個場麵體,並設置點約束
點擊放大
開始創建表達式
表達式如下
點擊放大
簡單分析一下
圓柱旋轉,是逆時針旋轉到第二個位置,就形成了一個三角形。隨著圓柱旋轉a角度,長杆可以認為也旋轉了b角度,同時x軸向想前位移了x 。由正弦定理,r,l 知道(已經測得)。a角度就是圓柱得旋轉,所以b也知道了
float $a;
float $b;
$a=wheel.rotateZ;
$b=asind((sind ($a))/4 );
pole.rotateZ= -$b;
pole.translateX= 2*cosd ($a)-2;
$b=asind((sind ($a))/4 );
asind是求反三角函數,知道三角函數值,求角度
數學裏寫arcsin,多了一d,是說這裏都是用角度製,不是弧度製
/4
是因為我的圓柱半徑(r)是 2
長杆長度是 8
8*sin $b=2*sin $a
sin $b=(sin $a)/4
pole.rotateZ= -$b;
加以個負號,是因為,圓柱是逆時針旋轉,而長杆正好相反
pole.translateX= 2*cosd ($a)-2;
這裏pole.translateX等於圖中得 綠色的 x
單也要家一個負號