返回介绍

Model

发布于 2025-01-31 22:20:49 字数 5956 浏览 0 评论 0 收藏 0

Model(Shape)(Surface)

模型。物体的造型。科学家目前专注于物体的表面形状。

Scanning

扫描。实体变模型。

Modeling

产生模型。有两种方式:

一、使用硬体,操作相机、光达,撷取真实世界的物体形状。知名硬体如 Kinect。

二、使用软体,操作滑鼠、绘图板,创作自己心仪的物体形状。知名软体如 SketchUp、AutoDesk 系列作。

网路上已经有许多现成的 模型资料库 ,大家可以使用他人制作的模型,不必自己亲手设计模型。

Printing

列印。模型变实体。

Rendering

渲染。显示模型。有两种方式:

一、显示于二维平面,例如液晶萤幕、投影幕。

二、显示于三维空间,科学家正在研究当中。

属于 Graphics 领域,容后介绍。

Animation

动画。操控并且显示模型。

属于 Animation 领域,容后介绍。

使用 C/C++处理模型

C 与 C++本身没有处理模型的函式库。大家倾向直接使用现成的函式库,例如 libiglOpenMeshCGAL

使用现成软体处理模型

SketchUpAutoCADRhinoceros 3D

课程资料

https://www.coursera.org/learn/interactive-computer-graphics
http://www.hao-li.com/cs599-ss2015/
http://kevinkaixu.net/
http://www.geometrysummit.org/summerschool/presentations.html
http://homes.cs.washington.edu/~seitz/talks/3Dhistory.pdf

Model Data Structure

Point Cloud(Surfel)

“点云”。大量的点座标,皆位于物体表面。

点云是以仪器扫瞄物体所得到的原始资料,仪器是相机、雷射、声纳等等。根据仪器的功能,点座标还可以附加其他资讯,比如颜色、法向量。

大家习惯将点云转换成其他资料结构,减少资料量,减少处理时间。

Mesh

“网格”。大量的平坦多边形。通常是三角形或四边形。

一个三角形有三个顶点座标。三角形的顶点顺序,决定了三角形的正面:正视三角形的正面,我们习惯让三角形顶点呈逆时针顺序。依照顶点顺序计算 叉积 ,得到三角形的正面的法向量。这是大家约定俗成、心照不宣的规矩。

资料结构鲜用一维阵列,而常用两个一维阵列:一个阵列记录每个点的座标、另一个阵列记录每个三角形的三个点的编号。由于三角形经常共用顶点,因此两层式的资料结构,得以节省记忆体空间。

大家习惯使用网格。优点是计算方便,只有点与边。缺点是失真,稜稜角角。

Parametric Surface

“参数表面”和“网格”概念相仿,连续与离散的差别而已。

“参数表面”。大量的曲面。通常是 Bézier surface 或 NURBS surface 。

Voxel

“体素”。整数格点有著数值。通常是 Boolean 或实数。

订立临界值,等于此临界值的地点,当作表面。调整临界值,以扩张或收缩表面。

资料结构鲜用三维阵列,而常用 八元树 。有人把体素的八元树称作 sparse voxel octree。

体素和像素概念相同,差别仅在于:像素数值通常是 RGB 颜色、体素数值通常是物质密度。

建立体素,通常是以超音波、核磁共振等仪器,扫描真实物体,取得各种直线轨道的数值;然后实施演算法,估计每一个体素的数值。请参考 image reconstruction 。

亦可手动设定体素数值,打造心仪模型。例如 MagicaVoxel

亦可运用特殊乱数,决定每一个体素的数值,打造特殊模型。例如三维版本的 Perlin noise ,可以打造云雾。请参考 这份讲义

Isosurface(Implicit Surface)

“等值表面”和“体素”概念相仿,连续与离散的差别而已。

“等值表面”。处处皆有数值。通常是实数。

以一个连续函数,决定每一个地点的数值。订立临界值,等于此临界值的地点,当作表面。调整临界值,以扩张或收缩表面。甚至累加多个函数,得到特殊的表面形状。

知名范例是 blobby surface:运用“球体”的数学函数,打造球体模型;改用“淡出的球体”的数学函数,例如三维常态分布,打造球体模型;令多个三维常态分布相加,打造宛如肥皂泡的模型。

以连续函数建立模型,优点是 100%精确,无论如何缩放,细节依旧清晰,没有任何偏差。

顺带一提,等值曲面有一个特例是 distance field,能产生模型的联集、交集、补集。请参考 isosurface rendering 。

Point Cloud Registration

登记。多台相机于多个位置拍摄相同景物,各得一群点云。把所有点云整合到同一个世界座标系,校正误差。

请参考 对齐 的演算法。

Point Cloud ⇨ Mesh

crust algorithm :先求 Voronoi diagram,纳入其顶点再求 Delaunay triangulation。 改良版本

Ruppert's algorithm :美化既有的 Delaunay triangulation。

Poisson surface reconstruction :一、point cloud ⇨ voxel:体素数值内 1 外 0。点云法向量等于体素梯度,再以体素梯度求解体素数值,即是解 Poisson equation。二、voxel ⇨ mesh:体素储存于八元树,套用八元树版本的 marching cube。 程式码与模型

Voxel ⇨ Mesh

这篇文章 彙整了各种演算法,提供了 实作

marching cube :观察一个立方体:8 个体素、12 条边。根据 12 条边的端点大小关係,决定网格位置。 这是程式码改良版本

dual contouring :额外知道每个体素的梯度,得以制造美观网格。

Parametric Surface ⇨ Mesh

变成三角形:每一个曲面切成 n×n 格,每一格沿对角线切成两个三角形,就这麽简单。越多格,越细腻,越逼真。

变成平坦四边形:我不知道怎麽做。

Model Editing(Under Construction!)

Mesh Parameterization

参数化。表面建立座标系统,方便贴图、组装。

Mesh Consolidation

巩固。贴齐、拉直、摆正。

Mesh Fairing

平滑化。维持模型的基础结构,抚平模型的形状。

Mesh Deformation

形变。维持模型的基础结构,改变模型的形状。

Shape Correspondence

对应。两个模型找到相对应的部件。

Shape Matching

匹配。找到给定的部件。

手绘 3D 模型

绘制曲线,产生表面。

Model Fabrication(Under Construction!)

Model Fabrication

Model Optimization

Model Compositing

合成。组装模型。

Model Blending

合成。剪接模型。

Model Segmentation(Model Decomposition)

分段。区分模型的各个部件。

http://cg.cs.uni-bonn.de/en/projects/point-cloud-processing-with-primitive-shapes/
Dapper: decompose-and-pack for 3D printing

Model Carving

Model Boxelization

https://www.disneyresearch.com/project/boxelization/

Model Assembling

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文