frost_vex_01
int inc = 0;
//整数inc等于0
while(inc < 6){
//inc在小于6的范围内递增
if(rand(@ptnum + inc + ch("seed")) < ch("variance")){
inc++;
//如果随机数小于variance,产生递增值
continue;
}
float angle = radians(60 * inc);
//angle的值等于(1-5之间的递增值)*60度
vector axis = @N;
//旋转轴向等于点的法线属性
matrix rot = ident();
//定义矩阵rot
rotate(rot, angle, axis);
vector dir = v@dir * rot;
//dir的值等于原始dir乘以旋转度数
vector step = @P + dir * ch("step");
//step等于原始位置+(base中dir的随机的方向*长度)
vector rp, ruv;
int ray = intersect(2, @P + dir * 0.015, dir, rp, ruv);
//输出与边界框(端口2)相交处的坐标与uv坐标rp和ruv
if(ray == -1){
//如果不相交
int handle = pcopen(1, "P", step, ch("rad"), 1);
//pcopen打开点云查询查询范围是“rad”,查询点的个数是1
vector naxis = pcfilter(handle, "N");
//定义矢量属性naxis,是查询点的处的N属性
vector ndir = pcfilter(handle, "dir");
//定义矢量属性ndir,是查询点处的dir属性
pcclose(handle);
//pcclose这个函数用来关闭与pcopen相关的handle
int prim = addprim(0, "polyline");
//在0号端口处添加图元(polyline),为prim
int pt0 = addpoint(0, @P);
//在0号端口的@P处添加点,为pt0
int pt1 = addpoint(0, step);
//在0号端口的step处添加点,为pt1
addvertex(0, prim, pt0);
//在pt0处,图元名为prim的位置添加顶点
addvertex(0, prim, pt1);
//在pt1处,图元名为prim的位置添加顶点
setpointattrib(0, "end", pt1, 1);
//在pt1处设置end属性,值为1
setpointattrib(0, "N", pt1, naxis);
//在pt1处设置N属性,值为naxis
setpointattrib(0, "dir", pt1, ndir);
}
inc++;
}
i@base = 0;
i@start = 0;
frost_vex_01的更多相关文章
随机推荐
- Spring跟mybatis结合
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...
- 根据要求写SQL 语句
Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 ...
- DevExpress v18.2新版亮点——DevExtreme篇(四)
行业领先的.NET界面控件2018年第二次重大更新——DevExpress v18.2日前正式发布,本站将以连载的形式为大家介绍新版本新功能.本文将介绍了DevExtreme Complete Sub ...
- 干货 | SSMS客户端连接京东云RDS SQL Server配置方法
干货 | SSMS客户端连接京东云RDS SQL Server配置方法 原创: 于振江 京东云开发者社区 微软SQL Server, Oracle数据库以及MySQL系列占据了关系型数据库市场的绝对 ...
- oracle入门之分页查询
oracle的分页查询共三种方法 1.根据ROWID来分页(速率一般) SQL>select * from emp where rowid in (select rid from (select ...
- python基础(字符串常用方法)
字符串不常用方法: 字符串常用的方法: #看源代码 按住ctrl点击方法名 用户注册的小程序 import datetimeusers = []passwds = []for i in range(3 ...
- RabbitMQ 的安装----Linux环境
CentOS7 安装RabbitMq 参考------> https://www.cnblogs.com/liaojie970/p/6138278.html https://www.cnbl ...
- socket.error: [Errno 99] Cannot assign requested address
方法一:python 命令行下运行 vi /etc/hosts 将127.0.1.1 那一行的名字改成你的(用 vi /etc/hostname 获取) 127.0.0.1 localhost 12 ...
- Java的URL类(一)
转:https://www.cnblogs.com/blackiesong/p/6182038.html Java的URL类(一) Java的网络类可以让你通过网络或者远程连接来实现应用.而且,这个平 ...
- 从零开始写自己的PHP框架系列教程(一)[core.php]
这里我直接上代码: /** * 框架核心 */ if (version_compare(PHP_VERSION, '5.3.0','<')) { header("Content-Typ ...