1、幂/指数/对数函数类:
floatsqrt (floatnumber)
返回参数的平方根,也就是以1/2为指数的幂函数。示例如下:
(相关资料图)
> sqrt (144)=12
floatexp (floatnumber)
以e为底的指数函数。示例如下:
> exp (x)= $E^x
> exp (2)= 7.3338906
floatlog (floatnumber)
以e为底的对数函数。示例如下:
> log (2.718281828)= 1
floatlog10 (floatnumber)
以10为底的对数函数。示例如下:
> log10(10) = 1
floatpow (floatbase, floatexponent)
幂函数与指数函数的结合体。base为底数,exponent为指数。示例如下:
> pow(2, 3) = 8
floatdegree (stringsurface_node, floatprim_num, floatD_U/D_V)
返回指定面的阶数。多边形和网格表示为线性函数,因此它们的阶数为1。样条线类型为NURBS或Bezier的曲线和曲面具有范围从1到10的阶数。如果基本体是多边形或曲线,则D_U和D_V不相关。
2、比大小:
float max (floatvalue1, floatvalue2)
返回两个值中较大的一个。
float min (floatvalue1, floatvalue2)
返回两个值中较小的一个。
3、随机数:
floatoldrand (floatvalue)
floatrand (floatvalue)
两者用法相同,均为返回一个介于0和1之间的随机数,区别是算法不同。
4、符号类:
floatsign (floatvalue)
符号函数。如果值为正,则返回1;如果值为负,则返回-1;如果值是零,则返回0。
floatabs (floatvalue)
绝对值函数。取绝对值。
5、取整/取小数类:(断舍离的若干种做法)
floatint (float number)
floattrunc (float number)
int与trunc用法相同,均为直接舍弃小数部分将数字转换为整数。快刀斩乱麻型
floatrint (float number)
floatround (float number)
rint与round用法相同,均为四舍五入到最接近的整数。权衡利弊型
floatceil (float number)
返回不小于输入值的最小整数。得寸进尺型
floatfloor (float number)
返回不大于输入值的最大整数。退而求其次型
floatfrac (float number)
返回浮点数的小数部分。该值由number- floor (number)所得,故<number>为负数时,计算结果将会出错,不能得到负数的小数部分。保险起见,可能用frac (abs (number))。因小失大型
6、三角函数类:
sin:正弦函数;sinh:双曲正弦函数;asin:反正弦函数
cos:余弦函数;cosh:双曲余弦函数;acos:反余弦函数
tan:正切函数;tanh:双曲正切函数;atan:反正切函数 ;atan2 (y, x):返回y/x的反正切
7、弧度与角度:
floatdeg (floatradians)
将弧度转换为度数。
floatrad (floatnumber)
将度数转换为弧度。
8、脉冲:
float pulse (float value,float start,float end)
<value>小于<start>或大于<end>,则返回0,否则返回1。 形成一个脉冲波形。 通常,<start>和<end>是帧编号,<value>基于当前帧$F的求余数运算(%)。示例如下:
> pulse ($F%10, 0, 4)
9、进制转换:
floathextoint (stringvalue)
将十六进制参数转换为整数。示例如下:
> hextoint ("A1") = 161
stringinttohex(floatvalue)
将整数转换为十六进制数。示例如下:
> inttohex (123) = 0000007B
10、度量类(长度、速度等):
floatlength (floatx,floaty, floatz)
返回向量的长度。A.K.Asqrt (x*x + y*y + z*z)
floatdistance (floatx1, floaty1, floatz1, floatx2, floaty2, floatz2)
返回空间中两点之间的距离。A.K.Asqrt ((x2-x1)^2 + (y2-y1)^2 + (z2-z1)^2)
float arclen(string surface_node,float prim_num,float ustart,float ustop)
计算曲线上两个U位置之间一段弧线的长度。<ustart>和<ustop>是在[0,1]区间中定义的单位值。对象必须是NURBS、Bezier或多边形曲线。示例如下:
> arclen ("/obj/geo1/model1", 12, 0, 1)
float arclenD (string surface_node,float prim_num, float ustart,float ustop,float divs)
计算曲线上一段弧线在一定分段数下的长度。<divs>是计算曲线时要使用的分割数。
float surflen (string surface_node,float prim_num, float ustart,float vstart,float ustop,floatvstop)
返回曲面上两点之间的曲线长度。
floatcurvature(string surface_node,float prim_num, floatu, floatv)
返回给定UV坐标下曲面的曲率
vectorangvel (vectorrot1, vectorrot2, floattime)
计算在特定时间段内将对象从一个方向旋转到另一个方向所需的角速度。角速度为矢量,含大小与方向。
11、范围限制:
float lock (float float)
使指定的值无法被更改。
float fit (floatnum,float oldmin,float oldmax,float newmin,float newmax)
获取一个值,该值在新的范围内的位置相当于指定值在老的范围内的位置,或者说获取一个不同范围内相对位置相同的数。若<num>不在<oldmin>与<oldmax>之间,则返回<newmin>或<newmax>。
fit01、fit10、fit11
同"fit"。指定<oldmin>与<oldmax>为0、1或1、0或-1、1。
float smooth (float value,float minimum,float maximum)
指定一个值和一个范围,返回0和1之间的值,且为平滑过渡而非线性变化。
float wrap (float value,float minimum,float maximum)
将值包裹在最小值和最大值之间。与"clamp"类似,因为结果值将始终位于指定的最小值和最大值之间。它的值会在最小值与最大值之间重复。
float clamp (float value,float minimum,float maximum)
若<value>小于<minimum>,返回<minimum>,若<value>大于<maximum>,返回<maximum>,若介于两者之间,则返回该值本身。可以理解为对该值限制于结界内。
float clamptosphere (float x,float y,float z,float min_radius,float max_radius,string constant_type)
夹住向量,使其始终在最小球体和最大球体之间。设R(x,y,z)为该向量,则min_radius <= |R| <= max_radius,<constant_type>取X,Y 或Z。
12、位的逻辑运算:
float bitand (float abits,float bbits)
(将两个数字的二进制形式)按位(一 一对应进行)与运算。运算之前,先将<abits>和<bbits>以四舍五入的方式取整。
bitor、bitxor
同"bitand",按位或、异或运算。
floatbitset (floatnumber, floatbit_index, floatvalue)
对二进制数的指定位设置值,获得新的二进制数,并返回为十进制数。<value>值将通过四舍五入限制为0或1。
floatbittest (floatnumber, floatbit_index)
若该二进制数的指定位有数字,则返回1,否则返回0。因为二进制数只有0和1,所以可以理解为返回指定位的值。说明:0位对应于最右边的位。负位索引或位索引超过63,将始终返回0。
关键词:
Copyright 2000-2023 by www.jiaoyu.yindu.cn all rights reserved
邮箱 : 435 227 67@qq.com