3d - 在meshlab中着色网格边缘

标签 3d mesh meshlab

我一直在研究一种采用网格的算法,用它做一些奇特的事情,并产生一些输出。

为了可视化结果,我决定生成网格的副本,以与生成的输出有某种关联的智能方式为其着色,然后使用 Meshlab 对其进行可视化。但是,我需要为网格的某些边缘着色与其他边缘不同的颜色。

在谷歌搜索了几个小时后,我一直无法找到一种方法来做到这一点,即使文件格式(.obj、.ply ...)似乎支持这种行为,正如所建议的
this tutorial (我遵循它来生成输出网格)。

我已经制作了一个解决方法,也就是说,我为每个顶点分配了它与之相邻的一条边的颜色,然后我只根据顶点颜色为边着色,但不幸的是,这意味着(例如)两种不同颜色的边缘将以从一种颜色到另一种颜色的渐变呈现,这不是预期的行为。

我在这里做错了吗? (就像忽略一些明显明显的选项)。或者,是否有另一种渲染网格的方法可以让一个人为边缘着色(这并不意味着编码自己的渲染器或花 3 天时间浏览 blender 的手册以寻找正确的组合键)?

任何帮助将非常受欢迎。提前致谢。

最佳答案

我想出了一个技巧,主要是让我完成了工作。

这是:取原始网格,并为每条边创建一个新点,该点正好是这条边的中点。将两个边顶点连接到该中点以形成零面积退化三角形。将此三角形添加到网格文件中。你猜对了,用边缘颜色为这个新顶点着色。

一旦您摆弄了meshlab的背景颜色设置,您将能够相当好地看到边缘着色的网格。

(我仍在尝试找出的一件事是如何增加线条的粗细,使其看起来更清晰。现在,您可以转到顶点 View ,并看到新点都用边缘颜色很好地点亮)

关于3d - 在meshlab中着色网格边缘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44278650/

相关文章:

javascript - 在 Three.js 中,有没有办法获取附加到对象的 Controller 列表?

python - IPython 和 3D : draw simple and interactive scenes

javascript - 我可以在 three.js 中隐藏网格的面吗?

camera - Three.js - 如何计算两个 3D 位置之间的距离?

java - TransformGroup 的正确用法

Python 3D 2D 圆形表面

c# - 如何在Unity中将Mesh转换为Sprite

text - 如何在 MeshLab 中导入文本点云?

meshlab - 撤消功能在哪里?

graphics - 使用 Meshlab 进行纹理映射