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的更多相关文章

随机推荐

  1. mp4文件解析(纯c解析代码)

     参考链接:1. mp4文件格式解析 https://www.cnblogs.com/ranson7zop/p/7889272.html   2. MP4文件格式分析及分割实现(附源码) https: ...

  2. JVM CUP占用率过高排除方法,windows环境

    jdk自带的jvisualvm可以看到程序CPU使用率,但是无法确定具体的线程,想要确定到具体的线程需要借用到微软的Process Explorer 具体排除方法: 一:打开资源管理器,找到cup占用 ...

  3. [转]MYSQL 创建存储过程

    MySQL 存储过程是从 MySQL 5.0 开始增加的新功能.存储过程的优点有一箩筐.不过最主要的还是执行效率和SQL 代码封装.特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库 ...

  4. python的切片

    切片 取一个list或tuple的部分元素是非常常见的操作.比如,一个list如下: >>> L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Ja ...

  5. 模拟post/get请求 类似于google的postman

    下载地址:https://www.getpostman.com/apps

  6. javascript 字符串处理

    ---恢复内容开始--- 最近几次参加前端实习生招聘的笔试,发现很多笔试题都会考到字符串的处理,比方说去哪儿网笔试题.淘宝的笔试题等.如果你经常参加笔试或者也是一个过来人,相信你也跟我一样,发现字符串 ...

  7. python3对比python2的更新点

    python3对比python2的更新点: Python2官方基础模块:urllib2 第三方功能包:requests python3中urllib库和urilib2库合并成了urllib库. 其中u ...

  8. JAVA作业三

    (一)学习总结 1.阅读下面程序,分析是否能编译通过?如果不能,说明原因.应该如何修改?程序的运行结果是什么?为什么子类的构造方法在运行之前,必须调用父 类的构造方法?能不能反过来? class Gr ...

  9. 集合List的排序

    自从出现了泛型和LINQ,对于集合的排序变得更简单了. //倒序 list.OrderByDescending(p=> p.a).ThenByDescending(p => p.b); / ...

  10. My new Blog on cnblogs

    My New Blog 这是菜鸡Herself32在博客园新开的Blog,一部分文章会同时加载到这里. 也欢迎访问主站:https://herself32.github.io QwQ