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的更多相关文章
随机推荐
- poj1002总结
1.之前一直是runtime error,没有找出具体原因,把冒牌排序改成了合并排序,当输入是100000行时,从大约10s变到1s内 2.感觉是atoi指针导致的,当判断atoi的入参不为NULL时 ...
- centos下使用yum 安装pip
本文为转载:原文出处:https://www.cnblogs.com/saolv/p/6963314.html centos下安装pip时失败: [root@wfm ~]# yum -y instal ...
- 桂林电子科技大学第三届ACM程序设计竞赛 G 路径
链接:https://ac.nowcoder.com/acm/contest/558/G来源:牛客网 小猫在研究树. 小猫在研究路径. 给定一棵N个点的树,每条边有边权,请你求出最长的一条路径,满足经 ...
- 吴恩达机器学习笔记5-Octave基本操作
1.逻辑运算 1==2 %false :注释用%,这句话意思是判断1是否等于2,false,输出0 1~=2 %true 1不等于2 为true,输出为1 1&&0 %and 1|| ...
- 安装SSD
前面两篇文章讲了用SSD检测框架训练自己的数据集,这篇补充一下SSD的安装.github链接:https://github.com/weiliu89/caffe/tree/ssdSSD是16年ECCV ...
- java HttpClient 忽略证书的信任的实现 MySSLProtocolSocketFactory
当不需要任何证书访问https时,java中先实现一个MySSLProtocolSocketFactory类忽略证书的信任 package com.tgb.mq.producer.utils; imp ...
- python日常小计
1.查看变量类型: pring type(item) 2.解决list中的中文显示乱码 使用decode('string_escap')将数据库查询返回的将带转义的字节码字符串转换为成utf-8中文
- 超低质量的超低起点PYQT ------前言
由于年后要赶一个小工程,以前一直用VB6+sqL2K的做些小玩具一样的桌面项目,低级的不能再低级了,某日幡然醒悟,决定努力跟进潮流的尾巴..匆匆撸了一遍网上的PYTHON基础知识,面向对象,装饰器.. ...
- Excel 常用属性的一小部分
1.由于工作需要,最近积累了一些Excel中的相关知识,特此记录 Workbooks xlbooks = xlApp.Workbooks; Workbook xlbook = xlbooks.Add( ...
- 2019微软Power BI 每月功能更新系列——3月Power BI 新功能学习
Power BI3月产品功能更新发布啦!本次新功能新增了热图和单选切片器:完善了新的DAX功能和对现有功能的改进(例如按钮和选择窗格):同时官方表示建模视图的全面改进也正在进行中~Woo~那么,本月更 ...