由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 有人作过Surface Triangulation嘛?
相关主题
如何把图1转成图2?菜鸟请教C问题
请问如何在球体表面均匀分布N个点(赠送包子) (转载)[合集] 这个图问题的复杂度是多少?
请问图形搜索所有路径问题问一个machine learning/SVM 问题
围棋规则haskell表示purify和valgrind的比较
请教一个变态的regular expression 替换一个图形变形的问题
How to detect cycle with minimum space这个PERL表达式干啥的?
请教一个面试问题(software eng)有多少人觉得这一波AI是忽悠?
"brk()" 和 mmap() 有什么区别? (转载)关于process and threads的问题
相关话题的讨论汇总
话题: cube话题: surface话题: 网格话题: boundary
进入Programming版参与讨论
1 (共1页)
p********y
发帖数: 111
1
就是将不规则物体表面用无数小三角形近似,然后便于计算面积
网上倒是找到一个近似的例子:http://www.heikman.de/index.html?/tools/java/triangulation.html
和我所想的方法类似,遵循:
* find all boundary points in the data set
* find all neighbouring boundary points for each boundary point
* find three neighbouring boundary points and assign them to a new
triangle.
不过这个java作者说了他的code有问题。
我所要应付的componenets是无规则的,唯一的信息就是这个component包含的所有点的
三维坐标,如果我自己用c来写,具体的思路大概如下:
把component包含的所有点用网格覆盖(把component装入稍大的网格盒子),含有点的
网格为实网格,如果某个实网格在一个小范围内所有邻居都是实网格,就把该
c*****t
发帖数: 1879
2
这个是有个 algorithm,基本上就是考虑种种 case,关键一点就是将 点(用
* 表示)放在 edge 上。这样的话,就可以弄出 128 个 case 在 cube 上出现
三个 * 的可能,然后通过 mirror / rotation 等将 case 缩减到 38 种
(好像是这些数字)。
+-*-+
| |
* |
| |
+---+
具体 link 俺早丢了。。。你想办法 google 吧。

componennt

【在 p********y 的大作中提到】
: 就是将不规则物体表面用无数小三角形近似,然后便于计算面积
: 网上倒是找到一个近似的例子:http://www.heikman.de/index.html?/tools/java/triangulation.html
: 和我所想的方法类似,遵循:
: * find all boundary points in the data set
: * find all neighbouring boundary points for each boundary point
: * find three neighbouring boundary points and assign them to a new
: triangle.
: 不过这个java作者说了他的code有问题。
: 我所要应付的componenets是无规则的,唯一的信息就是这个component包含的所有点的
: 三维坐标,如果我自己用c来写,具体的思路大概如下:

l*********s
发帖数: 5409
3
I think knowing vertex coordinates is not enough to define a uniqiue object,
unless you assume that the object is convex everywhere.
g*****g
发帖数: 34805
4
当顶点足够密集的时候应该不是问题。

object,

【在 l*********s 的大作中提到】
: I think knowing vertex coordinates is not enough to define a uniqiue object,
: unless you assume that the object is convex everywhere.

c*****t
发帖数: 1879
5
One has to estimate the density of the points, and hence the cube I
mentioned in the algorithm. Otherwise, what can you do with a point
far out there?

【在 g*****g 的大作中提到】
: 当顶点足够密集的时候应该不是问题。
:
: object,

v******n
发帖数: 421
6
你说的是marching cube吧

【在 c*****t 的大作中提到】
: 这个是有个 algorithm,基本上就是考虑种种 case,关键一点就是将 点(用
: * 表示)放在 edge 上。这样的话,就可以弄出 128 个 case 在 cube 上出现
: 三个 * 的可能,然后通过 mirror / rotation 等将 case 缩减到 38 种
: (好像是这些数字)。
: +-*-+
: | |
: * |
: | |
: +---+
: 具体 link 俺早丢了。。。你想办法 google 吧。

c*****t
发帖数: 1879
7
en,俺当时一时没想起来名字。

【在 v******n 的大作中提到】
: 你说的是marching cube吧
a******u
发帖数: 1016
8
There is a free program called "gmsh" that I used before to do irregular
object meshing. It is pretty handy. I guess it can do 2-dimension too since
its meshing is based on tetrahedron. I can email it to you if you can not
find it online.
p********y
发帖数: 111
9
谢谢回复,我找找。
有个vtk library 能搞Surface Triangulation,我正在想看这个library的source code
,看它是如何运算的,不过在网上叨咕半天没搞明白如何看它的source code。。。

【在 c*****t 的大作中提到】
: 这个是有个 algorithm,基本上就是考虑种种 case,关键一点就是将 点(用
: * 表示)放在 edge 上。这样的话,就可以弄出 128 个 case 在 cube 上出现
: 三个 * 的可能,然后通过 mirror / rotation 等将 case 缩减到 38 种
: (好像是这些数字)。
: +-*-+
: | |
: * |
: | |
: +---+
: 具体 link 俺早丢了。。。你想办法 google 吧。

p********y
发帖数: 111
10
http://www.geuz.org/gmsh/
我下了一个,安装一看,好像是个绘图软件,如何看source code?

since

【在 a******u 的大作中提到】
: There is a free program called "gmsh" that I used before to do irregular
: object meshing. It is pretty handy. I guess it can do 2-dimension too since
: its meshing is based on tetrahedron. I can email it to you if you can not
: find it online.

相关主题
How to detect cycle with minimum space菜鸟请教C问题
请教一个面试问题(software eng)[合集] 这个图问题的复杂度是多少?
"brk()" 和 mmap() 有什么区别? (转载)问一个machine learning/SVM 问题
进入Programming版参与讨论
a******u
发帖数: 1016
11
It is a finite element mesh generator.
p********y
发帖数: 111
12
更新一下,在物体边界上的点已经被确定的情况下,如何绘出Triangulation?

【在 c*****t 的大作中提到】
: 这个是有个 algorithm,基本上就是考虑种种 case,关键一点就是将 点(用
: * 表示)放在 edge 上。这样的话,就可以弄出 128 个 case 在 cube 上出现
: 三个 * 的可能,然后通过 mirror / rotation 等将 case 缩减到 38 种
: (好像是这些数字)。
: +-*-+
: | |
: * |
: | |
: +---+
: 具体 link 俺早丢了。。。你想办法 google 吧。

c*****t
发帖数: 1879
13
没明白你的意思。不过 marching cube 可以看
http://www.exaflop.org/docs/marchcubes/

【在 p********y 的大作中提到】
: 更新一下,在物体边界上的点已经被确定的情况下,如何绘出Triangulation?
p********y
发帖数: 111
14
我的意思就是现在在边界上的点已经给出(不需要自己判定了),我所要作的就是纯粹
对这些表面上的点作Surface Triangulation来求面积
我在看这个链接,
另一个链接也蛮有用http://undergraduate.csse.uwa.edu.au/units/CITS4241/Project/references/Lorensen-Cline-brief.pdf
不过我还是没看懂。。
更不要谈如何用c写出程序来。。
有人来提供帮助嘛?有酬谢。

【在 c*****t 的大作中提到】
: 没明白你的意思。不过 marching cube 可以看
: http://www.exaflop.org/docs/marchcubes/

p********y
发帖数: 111
15
请看图,现在如何把图1转成图2?
已知条件:图1上处在边界上的所有cube坐标我知道

【在 p********y 的大作中提到】
: 我的意思就是现在在边界上的点已经给出(不需要自己判定了),我所要作的就是纯粹
: 对这些表面上的点作Surface Triangulation来求面积
: 我在看这个链接,
: 另一个链接也蛮有用http://undergraduate.csse.uwa.edu.au/units/CITS4241/Project/references/Lorensen-Cline-brief.pdf
: 不过我还是没看懂。。
: 更不要谈如何用c写出程序来。。
: 有人来提供帮助嘛?有酬谢。

p*******n
发帖数: 4824
16
只有cube的信息吗?cube的定点没有值么?
O*******d
发帖数: 20343
17
Use marching cube to create the surface, then calculate the surface area.

【在 p********y 的大作中提到】
: 我的意思就是现在在边界上的点已经给出(不需要自己判定了),我所要作的就是纯粹
: 对这些表面上的点作Surface Triangulation来求面积
: 我在看这个链接,
: 另一个链接也蛮有用http://undergraduate.csse.uwa.edu.au/units/CITS4241/Project/references/Lorensen-Cline-brief.pdf
: 不过我还是没看懂。。
: 更不要谈如何用c写出程序来。。
: 有人来提供帮助嘛?有酬谢。

s****x
发帖数: 43
18
Smooth the result from marching cubes to get the second picture.
s***r
发帖数: 500
19

这个就是典型的isosurface rendering,或者叫volumn rendering, 在医学扫描成像上
很常用。。。
最简单的算法就是marching cube, 考虑一个8顶点的unit cube,根据物体与这个cube
切割的情况决定triangulation,如果一条边一个顶点在物体内,一个顶点在物体外,
那么在这个边上可以插值得出一个triangulation顶点。由于物体跟unit cube的切割只
可能有2^8 = 256种情形,可以做成一个查找表,这样对每个unit cube,根据顶点向量
,查表就能知道哪几条边需要插值找triangulation顶点。比如下面带的这个表。
很多现成的volumn rendering软件已经有这个功能,输入三维点阵数据,直接生成
triangle mesh。比如UCSF Chimera。自己写code也不难。

【在 p********y 的大作中提到】
: 请看图,现在如何把图1转成图2?
: 已知条件:图1上处在边界上的所有cube坐标我知道

1 (共1页)
进入Programming版参与讨论
相关主题
关于process and threads的问题请教一个变态的regular expression 替换
可升降的程序员工作台,哪里有卖?(可以坐着写,或站着写)How to detect cycle with minimum space
Usage of Grep???help!!!请教一个面试问题(software eng)
问个图像识别问题"brk()" 和 mmap() 有什么区别? (转载)
如何把图1转成图2?菜鸟请教C问题
请问如何在球体表面均匀分布N个点(赠送包子) (转载)[合集] 这个图问题的复杂度是多少?
请问图形搜索所有路径问题问一个machine learning/SVM 问题
围棋规则haskell表示purify和valgrind的比较
相关话题的讨论汇总
话题: cube话题: surface话题: 网格话题: boundary