首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有可能用rgl (或任何其他R包)将三维点云转换为三维网格?

是否有可能用rgl (或任何其他R包)将三维点云转换为三维网格?
EN

Stack Overflow用户
提问于 2021-12-09 22:33:38
回答 1查看 108关注 0票数 1

我正试图找到一种方法,用rgl轻松地将点云(描述复杂曲面)转换为网格对象。我知道外面有啮合软件,但是有谁知道是否可以在R中完成呢?谢谢!

编辑:一个恐龙的例子

代码语言:javascript
复制
library(datasauRus)
library(dplyr)
library(rgl)
dino <- datasauRus::datasaurus_dozen %>%
  filter(dataset == "dino") %>%
  select(-dataset)
dino <- rbind(dino, dino)
dino$z <- c(rep(0,142), rep(1,142))

plot3d(dino)

dino_mesh <- rgl::as.mesh3d(
  x = dino$x, y = dino$y, z = dino$z)

plot3d(dino_mesh)

# --> This conversion to a 3D mesh did not work well

迪诺点 网状dino

EN

回答 1

Stack Overflow用户

发布于 2021-12-11 09:55:07

演示点并不定义3D表面:它们只是二维的直线绘制。但是你仍然可以通过加入相应的点来做一个网格。

代码语言:javascript
复制
index <- rep(c(1, 143, 144, 1, 144, 2), 141) + rep(0:140, each=6)
mesh <- mesh3d(dino, triangles = index)
open3d()
shade3d(mesh, col = "gray")
aspect3d(1, 1, 0.2)

它产生了这样的结果:

填充边会更困难,因为在数据集中没有什么应该关闭的指示。

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

https://stackoverflow.com/questions/70297573

复制
相关文章

相似问题

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