Turtle语言是用于Lindenmayer System(L-System)的专有的语言;
可以用于制作植物及树木,能很好的模仿出植物的生长规律;
(wikipedia的介绍:https://en.wikipedia.org/wiki/L-system);
C4D的Mospline,Houdini的L-System节点都用到了它;
我以前研究过一段时间,这几天整理了一下研究成果;
龟语言本身不难,花个一小时就差不多可以研究透了;
这里整理了一些常用的语句和函数(针对C4D);
PS:Houdini和C4D的帮助文件里都有对L-System的说明,写得很详细,可以去看看。
1.前进
F(n,p,s) 前进n个默认单位长度,比例为p,细分s次
f(n,p,s) 前进n个默认单位长度,比例为p,细分s次,但是不创建实体
H(n,p,s) 等效于F(0.5*n,p,s)
h(n,p,s) 等效于f(0.5*n,p,s)
P(x,y,z) 以全局坐标(相对于Mospline物体的坐标),直接前进到(x,y,z)的位置
p(x,y,z) 以全局坐标(相对于Mospline物体的坐标),直接前进到(x,y,z)的位置,但是不创建实体
M(x,y,z) 以前一步终点为原点的局部坐标系,前进到(x,y,z)位置
m(x,y,z) 以前一步终点为原点的局部坐标系,前进到(x,y,z)位置,但是不创建实体
注:调用F,f,H,h可以不用括号
2.转弯
-(n) 向左转
+(n) 向右转
^(n) 向上转
&(n) 向下转
/(n) 向左自转
\\(n) 向右自转
| 自转180度
3.组
I Group 1
J Group 2
K Group 3
L Group 4
(注:用于Cloner,物体克隆)
4.衰退
" 长度衰退
; 角度衰退
! 比例衰退
5.繁殖
[] 繁殖一个分支
{} 繁殖多边形(用“.”间隔)
6.向性
T 添加向性(使其受力的影响)
7.变量调入
用户数据 使用与用户数据名字相同的变量名调入即可
8.递归
举例 FA;A=FA