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的更多相关文章
随机推荐
- SpringSecurity简单记录
在pom.xml中将springsecurity导入后,对于springsecurity会出现三个依赖包:spring-security-web,spring-security-config,spri ...
- List集合联系
创建一个List,在List 中增加三个工人,基本信息如下: 姓名 年龄 工资 zhang3 18 3000 li4 25 3500 wang5 22 3200 a) 在li4 之前插入一个工人,信息 ...
- ecplise中设置字符编码
ecplise 设置 1 ecplise编码格式 右键 在general-workspace- text file encoding 选择utf-8 2 jsp文件编码格式 web-jspfile-e ...
- Java泛型之自限定类型
在<Java编程思想>中关于泛型的讲解中,提到了自限定类型: class SelfBounded<T extends SelfBounded<T>> 作者说道: 这 ...
- Ceph集群更换public_network网络
1.确保ceph集群是连通状态 这里,可以先把机器配置为以前的x.x.x.x的网络,确保ceph集群是可以通的.这里可以执行下面的命令查看是否连通,显示HEALTH_OK则表示连通 2.获取monma ...
- c++中,如果访问数组越界,程序可能会意外终止(像死循环)
#include<iostream> using namespace std; ];// int main(){ vis[]=;//访问越界 ; } 程序错误表现:
- Hacklab综合关
没有注入到底能不能绕过登录 分值: 350 不是SQL注入 通关地址 不是注入,就先扫一下后台,发现在robots.txt后面有 访问一下,发现要先登陆,用burpsuit爆了好久都没有成功,最后 ...
- elasticsearch(1) 安装和使用
一.简介 Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎.无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进.性能最好的.功能最全的搜索引擎库. 但是 ...
- linux实时时钟相关函数
time 功能:获取1970年1月1日00:00:00到现在的秒数 原型:time_t time(time_t *t); 参数: t:获取到的秒数 返回:获取到的秒数 说明:在time.h中定义了ti ...
- MYSQL ini 配置文件详解及性能优化方案
my.ini分为两块:Client Section和Server Section. Client Section用来配置MySQL客户端参数. 要查看配置参数可以用下面的命令: show va ...