|
作者:brighter.h 这个蒸汽轮机肯定还有别的好办法,这在主要想试一试表达式 
先建一个圆柱,一个长方体作为杆,把长方体的中心轴移到一边的位置 
这个圆柱得截面半径最好设置为个整数,长方体的长,也最好是整数,有利于后面的表达式 再在长方体后面加以个场面体,并设置点约束 
开始创建表达式 
表达式如下 
简单分析一下 
圆柱旋转,是逆时针旋转到第二个位置,就形成了一个三角形。随着圆柱旋转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
单也要家一个负号
|