maya中的表达式同C语言中的函数表达式
 
abs  绝对值函数 用来求取一个数的绝对值。
结构 float abs(float number) ;
ceil  入函数  用来对带小数点的数值进行向上取整。
结构 float ceil(float number);
floor 舍函数  用来对带小数点的数值进行向下取整数。
结构 float floor(float number);
clamp 范围函数  用来限定函数的取值范围。
结构 float clamp(float min,float max,float parameter)其中parameter表示需要限定的数值
当par 大于最大值时候函数返回 max 当par 小于最小值时候函数返回 min
当函数大于min小于max时候 函数返回本身;
min  取小函数  两数或多数比较返回最小数;
结构 float min(a,b,c)返回最小数值
max  取大函数  两数或多数比较返回最大数;
结构 float max(a,b,c)返回最大数值
sign 正负零函数 判断数值的正负零
结构 float sign(-5)返回-1 float sign(5)返回1 float(0)返回0;
trunc 取整函数 返回带小数的数值整数部分
结构 float trunc(5.3)返回 5.3;
exp  指数函数 返回e的幂指数 其中e=2.718
结构 float exp(float number);
log  对数函数 返回e的自然对数
结构 float log(float number);
log10 常用对数函数 返回以10为底的一个数的对数
结构 float log10(100)返回值是2;
pow  幂指数函数 返回一个数的幂的值
结构 float pow(float basic,float exponent)basic是底数 exponent是指数;
sqrt 平方根函数 函数返回一个值的平方根
结构 float sqrt(4);返回值是2;
 
三角函数
sin 正弦函数 返回一个数值的正弦值
结构 float sin(float number);其中正弦等于对边比上斜边;
cos 余弦函数 返回一个数值的余弦值
结构 float cos(float number);其中余弦等于邻边比上斜边;
tan 正切函数 返回一个数值的正切值
结构 float tan(float number);其中正切等于对边比邻边;
反三角函数
asin acos atan 反三角函数 返回数值的弧度值
结构 float asin(float number);返回number数值所对应函数的弧度值;
 
hypot 矢量值函数 返回二维矢量 的长度值
结构 float hypot(float x,float y)返回 x平方与y平方和的平方根;
angle 夹角函数 用与求取两个矢量之间的夹角
结构 float angle(vector1,vector2);
cross 叉乘函数 用于返回两个矢量确定的平面的法线 结果为零时两矢量平行或在同一直线上;
结构 float cross(vector1,vector2);
dot  点乘函数用于返回两个函数点乘的结果结果为零时候两矢量垂直;
结构 float dot(vector1,vector2);
mag  矢量大小函数 返回矢量函数的长度值
结构 float mag(vector);
 
rot 旋转函数  返回的是个矢量 (点的位置坐标)
结构 vector rot(vector point,vector axis,float angle);其中vector axis 代表的旋转半径 float angle旋转多少度数。
 
unit 函数  返回的是一个矢量的单位矢量 返回的矢量和所求的矢量有相同的方向单位矢量的单位大小是1
结构vector unit(vector vector)里面的vector 就是要求的 
 
deg_to_rad 函数  返回的是一个弧度数值
结构  float deg_to_rad (float degrees);当为90返回的是二分之一π
 
rad_to_deg 函数 功能和上面的函数相反
 
hsv_to_rgb 函数 将颜的hsv数值 转换为RGB数值
结构 vector hsv_to_rgb(vector hsv);
 
rgb_to_hsv功能和上面相反
 
clear (清空数组)函数 为了清空一个数组中的所有 数据
结构 int clear(array array);返回 0或者 1 成功与不成功
 
gauss函数 高斯函数 返回一个随机的浮点和矢量
结构 float gauss(float stddev) stddev代表的是一个数值 它返回值的规律是一个开口向下的抛物线且y轴无限接近于0
 
noise 函数 燥波函数 返回的是一个-1到1的随机值
结构 float noise (float number)其中noise的频率设定暂时不知道  貌似和括号的数字有关系
 
dnoise 返回一个矢量 这个矢量里的每个分量包含一个-1到1的数值
结构同上 只是数据类型不同
 
rand 函数 返回一个随机的浮点和矢量 看输入时候的数据类型
float rand(float number) 返回0到 number
或者指定 float rand (float minnuber,float maxnumber)矢量数据类型类似
 
sphrand 返回一个随机的矢量
vector sphrand (float raduis)
 
seed函数 任命函数 设置seed的值
有点奇怪的函数不知道很直接赋值有什么区别
 
linstep 函数 返回一个0到1直接的数值
结构 linstep (float start,float end,float parameter)返回的是一个比例数值0到一之间
 
smoothstep 函数返回一个0到1之间的函数
结构和 linstep函数的效果差不多 返回的值不同之处一个是线性 另一个是慢进慢出的 线性
 
hermite 函数 自定义控制的一个函数形态 函数学的好的人用 无敌 返回的是矢量或者浮点
结构 hermite (start,end,tan1,tan2,float parameter)其中float parameter的值应该在0到一之间。
其中start 代表的是 数据的起点数据 或者 矢量的起点 点坐标即空间坐标的起始点 end 代表的是数据的结束点数据 或者矢量的终点坐标 tan1代表的是起点运动的起始方向 tan2代表的是终点的指向方向。 float parameter 决定的是从起点到终点的等比值;
 
*表达式的作用
1,使属性与时间建立关系,来产生动画效果。
2,建立属性与属性的联系,来达到用一个属性控制另一个属性的目的。
/////////////////////////////////
一:MAYA中的预定义变量(时间)
  1,"time"是一个变量,单位“秒”。
  2,"frame"是一个变量,单位“贞”。
(*注意*属性的名称一定要写完整,并在写完后加终止符“;”)
  例如:anslateX = time;
(*注意*属性名称是分大小写的,"aa Aa AA "是三个完全不同的名称)
(其中“=”相当于赋值操作符,顺序是自右向左先计算等号右侧,再把      结果赋给左侧。)
  *数学运算符;
  “+”(加);“-”(减);“*”(乘);“/”(除);“%”(取于    ,相当于一个数被另一个数整除后的余数)
二:MAYA中的自定义变量
  作用:用来存储表达式中用到的临时结果。
  类型:1;浮点型变量:(就是带有小数点的变量)
          声明符为“float”;
          例如:float $aa = 3.14159;
          (*注意* a,所有变量名称前必须加“$”。
                  b,变量的名称必须以英文字母开头。
                  c,变量名称中不准许出现特殊符号,例如                                “!,@,#,%,^,&,*"但可以出现下划线和数字”float                      $aa_1"。
                  d, 变量名称严格区分大小写,例如:“$aa,$Aa”是两                    个完全不同的变量。)
        2;整数型变量;
          声明符为“int”;
          例如:int $bb = 10;
        3;字符串变量;
          声明符为“string";
          例如:string $cc = "maya7.0";
        4;矢量变量;
          声明符为“vector ”;
          例如:vector $dd = <<3.3,4,-5.5>>;
三;MAYA中的语句和运算符
  1,条件语句
    if (条件)//(“如果”的意思)
    {
      语句1;
      语句2;
      }
    例如;if (time < 3)
    (*注意*条件语句后不能加“;”)
      也可以同“else”(当“否则”讲)配合使用;
    例如;
        if (time < 3)
        = -6;
        else if (time >= 3 && time <= 6)
        = 0;
        else
        = 6;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。