首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自Marching立方体的verts坐标是什么意思?

来自Marching立方体的verts坐标是什么意思?
EN

Stack Overflow用户
提问于 2022-01-07 22:47:42
回答 1查看 174关注 0票数 0

我有一个三维生成的车辆体素模型,体素的坐标在车辆参考框架中。原点在地板的中央。看起来是这样的:

数组([-2.88783681,-0.79596956,0., -2.8752784 -0.79596956,0 2.86271998,-0.79596956,0 ... 2.83880176,0.89941685,1.98423003, 2.85136017,0.89941685,1.98423003, ( 2.86391859,0.89941685,1.98423003])

然后我创建了一个0和1的网格。

代码语言:javascript
复制
ux = np.unique (voxels[:,0])
uy = np.unique (voxels[:,1])
uz = np. unique (voxels[:,2])

X, Y, Z = np.meshgrid(ux, uy, uz)
V = np.zeros(X. shape)
N = voxels.shape [0]
for ii in range(n):
    ix = ux == voxels[ii,]
    iy = uy == voxels[ii, 1]
    iz = uz == voxels[ii,2]
    V[iy, ix, iz] = 1

然后调用行军立方体算法生成体素模型的网格。

代码语言:javascript
复制
marching_cubes = measure.marching_cubes_lewiner (v, o, spacing=(voxel_size, voxel_size, voxel_size))
verts = marching_cubes[0]
faces = marching cubes[1]
normals = marching_cubes[2]

当我打印出顶点时,坐标如下:

数组([2.78852894e-18,4.39544627e-01,3.39077284e-01], 1.25584179-02,4.39544627e-01,3.26518866 e-01, 1.25584179-02,4.26986209e-01,3.39077284e-01, 1.72050325e+00,1.26840021e+00,2.76285194-01 1.72050325e+00,1.26840021e+00,2.88843612e-01, 1.72050325e+00,1.26840021e+00,3.014020302-01])

文档中,它说verts不过是“V唯一网格顶点的空间坐标”。但是坐标是什么意思呢?它是在什么坐标系中?

我计划将网格投影到车辆的图像上,我生成了体素模型。在这种情况下,如何进行坐标变换?(我已经成功地将体素投射到图像上)

EN

回答 1

Stack Overflow用户

发布于 2022-01-07 22:59:53

verts只是太空中的点。从本质上说,每个管道都是某个三角形的一个角(通常大于1)。

要知道实际的三角形是什么,你要看的面孔是什么样子的:

代码语言:javascript
复制
[(v1, v2, v3), (v1, v4, v5), ...]

列表中的每一个元组都包含3个verts索引。例如:

代码语言:javascript
复制
verts[v1], verts[v2], verts[v3]

是太空中的一个三角形。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70628013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档