使用 MEL 内置函数计算 Y 偏移
 
 
 

正弦是通过将角对面的边除以斜边所得到的比率。因为桶的中心点沿等边三角形的点分布,该三角形的所有角度都等于 60°。如果将 60° 的正弦乘以三角形的其中一条边的长度,结果就是三角形的高。

了解编程语言的内置函数使用哪些度量单位是很重要的。许多编程语言(包括 MEL 和 Python)使用弧度来执行三角运算。使用正弦函数计算 Y 偏移时,必须从度转化为弧度。

注意

弧度是测量圆形的截面的一种方法。在一个圆形中,有 360 度,等于 2π 弧度。

计算 Y 方向偏移

  1. 通过键入以下命令,声明用于存储 Y 偏移的值的新变量:
    float $Y_offset;
    
  2. 使用正弦比计算 Y 偏移的值。必须使用度到弧度转化函数将角度的值转化为度。
     $Y_offset = $diameter_barrel * (sin(deg_to_rad(60)));
    

    赋值运算符对表达式的右侧进行求值,并将所得到的值指定给左侧。度到弧度转化函数是第一个要进行求值的函数,因为该函数位于最内部的一对括号中。正弦函数计算以弧度表示的角度的正弦。将正弦值乘以直径可计算 Y 偏移。会将计算出来的值指定给该变量。

    注意

    变量 $diameter_barrel 的值不会改变。仅赋值运算符左侧的变量的值会改变。

堆叠桶的行

  1. 通过键入以下命令,选择并复制场景中的所有对象:
    select -allDagObjects;
    duplicate;
    

    select 命令与 -allDagObjects 标志一起使用可选择所有 DAG(有向非循环图)对象,这些对象是存在于场景中的一组对象(如几何体、IK 链和测量工具)。纹理和动画信息不属于有向非循环图。

  2. 在 X 方向上按桶的半径、在 Y 方向上按计算出的 $Y_offset 偏移桶,将直径除以 2 以得到半径的值。复制行时,已创建了过多的桶。
    move -r 0 $Y_offset ($diameter_barrel/2.0);
    duplicate;
    move -r 0 $Y_offset ($diameter_barrel/2.0);
    duplicate;
    move -r 0 $Y_offset ($diameter_barrel/2.0);
    
  3. 通过使用“套索工具”(Lasso tool),选择附加的桶。
  4. 删除附加的桶以获得棱锥形状。