NCF参数化建筑论坛
标题:
巨简单的hull工具
[打印本页]
作者:
panhao1
时间:
2011-3-4 15:19
标题:
巨简单的hull工具
本帖最后由 panhao1 于 2011-3-4 15:32 编辑
如果一种工具能简单到这种地步 那么它就是这个hull工具了 案例也在里面 我稍稍改了下 貌似确实很好用 PeasyCam cam; QuickHull3D hull; Random rnd=new Random(); public void setup(){ size(600,400,OPENGL); cam = new PeasyCam(this, 200); cam.setMinimumDistance(50); cam.setMaximumDistance(5000); } public void draw(){ background(100); stroke(0,0,200); fill(255, 102); Point3d[] points = new Point3d[] { new Point3d (0.0, 0.0, 0.0), new Point3d (1.0, 0.5, 0.0), new Point3d (2.0, 0.0, 0.0), new Point3d (0.5, 0.5, 0.5), new Point3d (0.0, 0.0, 2.0), new Point3d (0.1, 0.2, 0.3), new Point3d (0.0, 2.0, 0.0), }; hull = new QuickHull3D(); hull.build (points); scale(100); Point3d[] vertices = hull.getVertices(); int[][] faceIndices = hull.getFaces(); for (int i = 0; i < vertices.length; i++) { beginShape(); for (int k = 0; k < faceIndices
.length; k++){ vertex((float)vertices[faceIndices
[k]].x, (float)vertices[faceIndices
[k]].y,(float)vertices[faceIndices
[k]].z); } endShape(CLOSE); } } ////////////////////////////////////////////////////
作者:
panhao1
时间:
2011-3-4 15:21
import java.util.Random; import quickhull3d.*; import peasy.PeasyCam; 掉了几行 呵呵 会processing的都知道怎么用吧 我一般用eclipse 如果是processing的平台 要稍稍改下代码
作者:
nixy
时间:
2011-3-4 17:09
提示:
作者被禁止或删除 内容自动屏蔽
作者:
czrwinner
时间:
2011-3-4 20:00
vertex((float)vertices[faceIndices[k]].x, (float)vertices[faceIndices[k]].y,(float)vertices[faceIndices[k]].z); 这句在Processing里过不了,不是很清楚该怎么改,看看先~
作者:
panhao1
时间:
2011-3-4 23:10
4#
czrwinner
这样子啊 因为eclipse默认的数是double 而processing里面是float 因此应该是只要把x,y,z都转化为float就行了 processing的转换你查下帮助
作者:
panhao1
时间:
2011-3-4 23:10
3#
nixy
真聪明 就是凸包啊~ 三维的
作者:
claudemit
时间:
2011-3-5 00:01
本帖最后由 claudemit 于 2011-3-5 00:03 编辑
5#
panhao1
大哥,我检查了下例子 漏字了。。。
[attach]15374[/attach] 这样就正常了 也许是复制过程中出来问题,我试过了i会自动漏掉
作者:
claudemit
时间:
2011-3-5 01:19
想请教下,为啥设定个六面体就无法凸包成面呢 随便去掉个点都OK Point3d[] points = new Point3d[]{new Point3d(0,0,0),//new Point3d(1,0,0),new Point3d(0,1,0),new Point3d(1,1,0),new Point3d(0,0,1),new Point3d(1,0,1),new Point3d(0,1,1),new Point3d(1,1,1),}; 全存在就会报错 [attach]15377[/attach]
作者:
claudemit
时间:
2011-3-5 03:11
试了试,把输入点改成球状 为什么感觉在hull.build (points);过程中一些点没了 [attach]15381[/attach]
作者:
darklight
时间:
2011-3-5 12:17
因为是第一次接触eclipse,所以问一下:附件是一个project吗?为什么加载不上?[img][/img]
作者:
panhao1
时间:
2011-3-5 16:15
8#
claudemit
把上一行的vertices 改成 faceIndices for (int i = 0; i < faceIndices.length; i++){ 笔误
作者:
panhao1
时间:
2011-3-5 16:16
8#
claudemit
把上一行的vertices 改成 faceIndices for (int i = 0; i < faceIndices.length; i++){ 笔误
作者:
claudemit
时间:
2011-3-6 07:38
谢谢指教,我也糊涂了 [attach]15410[/attach] 请问下输出面的颜色设定,是有类库可以用还是自己写的class啊
作者:
panhao1
时间:
2011-3-6 16:12
13#
claudemit
我发的文件里面有帮助的 你只要看帮助就行了 生成面是用processing的命令 要自己写
作者:
饼干笨笨
时间:
2011-3-6 20:49
恩,帮助很大,收到启发
作者:
ayan13
时间:
2011-3-8 15:00
天,看不懂。
作者:
kebu
时间:
2011-3-10 16:49
高深啊 !!
作者:
miaomiao
时间:
2011-3-11 06:48
如果都是拷贝别人的源码 那我们自己究竟能做什么啊 还用学习C语言吗
作者:
minfish2005
时间:
2011-3-14 16:33
不错不错,一点意思
作者:
gezengxin
时间:
2011-3-15 15:09
谢谢楼主分享,学习啦
作者:
x5115x
时间:
2011-7-3 08:35
这个不错,但我还是没弄明白hull工具具体指的什么。
作者:
周佳看
时间:
2011-7-5 12:40
起名字的好软件,诸葛专业起名
作者:
www.sxski.com
时间:
2011-8-22 13:42
大家好我是新来的请大家多关照啊
作者:
caojian
时间:
2011-9-7 13:07
好像不怎么简单咯
欢迎光临 NCF参数化建筑论坛 (http://ncf-china.com/)
Powered by Discuz! X3.2