helix小插件

helix是学习maya API的入门命令。思路很简单:设置curve上cv点的位置做成螺旋曲线的形状即可。将近三百行的代码,核心的就一句:

points[j] = MPoint(cos(double(j))*radius, pitch*j, sin(double(j))*radius); //reposition cvs
在maya中显示如下:

如将核心代码改换如下:

double para = -16*3.1415926/(*(numCVs+k));
for(unsigned i = 0; i < 4; i++)
{
	for(unsigned j = i*(*(numCVs+k)/4);j < i*(*(numCVs+k)/4) + *(numCVs+k)/16; j++)
		points[j] = MPoint(sin(para*double(j)+3.1415926)*radius+radius, pitch*j, cos(para*double(j)+3.1415926)*radius);
	for(unsigned j = i*(*(numCVs+k)/4) + *(numCVs+k)/16;j < i*(*(numCVs+k)/4) + *(numCVs+k)/8; j++)
		points[j] = MPoint(sin(para*double(j)+3.1415926*1.5)*radius, pitch*j, cos(para*double(j)+3.1415926*1.5)*radius+radius);
	for(unsigned j = i*(*(numCVs+k)/4) + *(numCVs+k)/8;j < i*(*(numCVs+k)/4) + *(numCVs+k)*3/16; j++)
		points[j] = MPoint(sin(para*double(j)+3.1415926*2)*radius-radius, pitch*j, cos(para*double(j)+3.1415926*2)*radius);
	for(unsigned j = i*(*(numCVs+k)/4) + *(numCVs+k)*3/16;j < i*(*(numCVs+k)/4) + *(numCVs+k)/4; j++)
		points[j] = MPoint(sin(para*double(j)+3.1415926*2.5)*radius, pitch*j, cos(para*double(j)+3.1415926*2.5)*radius-radius);
}
就可以得到四叶草型的螺旋线:


代码里的数学公式有点拖沓,但曾几何时貌似看到过神一般的蝙蝠侠公式,所以……

anyway,虽然这个小插件有点无聊,但对于我进入更年期的记忆力,闲暇时来点自娱自乐的小刺激,也不至于被Maya枯燥繁杂的API结构给搞崩溃。

继续吧,路还长~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值