NCF参数化建筑论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 24479|回复: 23
打印 上一主题 下一主题

[工作记录] 巨简单的hull工具

[复制链接]
跳转到指定楼层
1m
发表于 2011-3-4 15:19:14 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 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); } } ////////////////////////////////////////////////////

quickhull3d.zip

209.05 KB, 下载次数: 18, 下载积分: 照度 -1 lux

售价: 2 lux照度  [记录]

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享
24m
发表于 2011-9-7 13:07:31 | 只看该作者
好像不怎么简单咯
23m
发表于 2011-8-22 13:42:03 | 只看该作者
大家好我是新来的请大家多关照啊
22m
发表于 2011-7-5 12:40:39 | 只看该作者
起名字的好软件,诸葛专业起名
21m
发表于 2011-7-3 08:35:46 | 只看该作者
这个不错,但我还是没弄明白hull工具具体指的什么。
20m
发表于 2011-3-15 15:09:02 | 只看该作者
谢谢楼主分享,学习啦
19m
发表于 2011-3-14 16:33:40 | 只看该作者
不错不错,一点意思
18m
发表于 2011-3-11 06:48:02 | 只看该作者
如果都是拷贝别人的源码 那我们自己究竟能做什么啊 还用学习C语言吗
17m
发表于 2011-3-10 16:49:01 | 只看该作者
高深啊 !!
16m
发表于 2011-3-8 15:00:10 | 只看该作者
天,看不懂。
15m
发表于 2011-3-6 20:49:59 | 只看该作者
恩,帮助很大,收到启发
14m
 楼主| 发表于 2011-3-6 16:12:11 | 只看该作者
13# claudemit 我发的文件里面有帮助的 你只要看帮助就行了 生成面是用processing的命令 要自己写
13m
发表于 2011-3-6 07:38:28 | 只看该作者
谢谢指教,我也糊涂了
12m
 楼主| 发表于 2011-3-5 16:16:10 | 只看该作者
8# claudemit 把上一行的vertices 改成 faceIndices for (int i = 0; i < faceIndices.length; i++){ 笔误
11m
 楼主| 发表于 2011-3-5 16:15:29 | 只看该作者
8# claudemit 把上一行的vertices 改成 faceIndices for (int i = 0; i < faceIndices.length; i++){ 笔误
10m
发表于 2011-3-5 12:17:10 | 只看该作者
因为是第一次接触eclipse,所以问一下:附件是一个project吗?为什么加载不上?[img][/img]
9m
发表于 2011-3-5 03:11:26 | 只看该作者
试了试,把输入点改成球状 为什么感觉在hull.build (points);过程中一些点没了 QQ截图未命名.jpg (27.04 KB, 下载次数: 0)
8m
发表于 2011-3-5 01:19:45 | 只看该作者
想请教下,为啥设定个六面体就无法凸包成面呢 随便去掉个点都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),}; 全存在就会报错 QQ截图未命名.jpg (18.77 KB, 下载次数: 0)
7m
发表于 2011-3-5 00:01:13 | 只看该作者
本帖最后由 claudemit 于 2011-3-5 00:03 编辑 5# panhao1 大哥,我检查了下例子 漏字了。。。 QQ截图未命名.jpg (11.1 KB, 下载次数: 0)
6m
 楼主| 发表于 2011-3-4 23:10:47 | 只看该作者
3# nixy 真聪明 就是凸包啊~ 三维的

小黑屋|手机版|NCF参数化建筑论坛 ( 浙ICP备2020044100号-2 )    辽公网安备21021102000973号

GMT+8, 2024-11-24 15:19 , Processed in 0.079401 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表