ParaView 读入 VTK 文件绘制凹多面体,显示异常

ParaView 显示 VTK 的这个 CELLS 数据格式,绘制凹多面体,有的凹多边形面显示不正常。

img

用5.11最新版的paraview可以导入文件,原数据如下。请问能qq联系咨询吗?我的:2030682947。感谢!

# vtk DataFile Version 5.1
Unstructured Grid Example
ASCII
DATASET UNSTRUCTURED_GRID

POINTS 14 double
28.6825 112 16.0268  28.4705 112 0  12.5 112 0  12.5 112 17.969  20.5533 112 20.8096  12.5 100.487 17.5574  12.5 99.2131 0  28.7706 120 15.3295  19.5636 120 20.7465  28.5678 120 0  0 102.615 0  0 103.577 13.2588  0 120 0  0 120 13.846  

CELLS 2 52
OFFSETS vtktypeint64
0 52
CONNECTIVITY vtktypeint64
9 5 0 1 2 3 4 
4 2 3 5 6 4 4 
0 7 8 4 0 1 9 
7 4 5 6 10 11 
6 9 12 10 6 2 
1 6 3 4 8 13 
11 5 4 10 11 13 
12 5 8 7 9 12 13 

CELL_TYPES 1
42

有人写过相关帖子,是在VTK源码的基础上修改,增加相关的函数实现?
https://blog.csdn.net/liushao1031177/article/details/118443631
ParaView 重构编译起来是不是略微复杂,能否通过界面操作实现。但是未找到“三角过滤”(TriangleFilter)相关过滤器。
感谢指教!必有答谢!

img


------------------------------------------------------------------------------------------------------------ 分隔线

img

参考这几篇文章看看:
https://blog.csdn.net/a15005784320/article/details/105763439
https://zhuanlan.zhihu.com/p/336743251

方便的话把代码发出来看一下问题。

具体不知道你的细节,你可以看一下这篇文章:


如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

你检查下面片连接信息,看下你数据集中的面片连接信息是否正确设置。这两个属性Cells(单元格)或Connectivity(连接),确保凹多边形的每个面片的顶点索引按逆时针顺序排列(对于右手坐标系)。

具体代码可以看看

从您提供的数据和描述来看,似乎您在使用ParaView绘制VTK格式的凹多面体时遇到了显示问题。凹多边形的正确显示可能会涉及到几何和拓扑信息的正确编码。根据您提供的数据,以下是一些可能导致问题的方面和建议:

  1. 几何数据问题: 首先,确保顶点和连接在CELLS部分中的索引是正确的。检查顶点坐标是否正确,以及CELLS部分的连接索引是否在范围内。

  2. 凹多边形定义: 由于凹多边形的定义可能较复杂,确保CELLS和CELL_TYPES部分正确表示凹多边形的结构和拓扑关系。在您的数据中,CELL_TYPES的值是42,这对应于凹多边形的VTK类型。

  3. 数据格式: 确保数据文件的格式是ASCII的,这与您提供的文件头部分一致。

  4. ParaView版本: 您提到使用了ParaView 5.11版本,但有时候特定版本可能存在一些bug或问题。您可以尝试在其他版本的ParaView中打开数据,看是否能解决问题。

  5. 调试工具: ParaView通常提供了一些调试工具,例如绘制模式,查看顶点和单元格的信息,以便更好地理解数据的结构和问题所在。

关于您提到的VTK源码修改,这通常是在需要更高度定制的情况下才考虑的选项,例如在处理特定的数据类型或展示需求时。

如果您希望进一步解决问题,我建议您尝试以下步骤:

  1. 尝试在其他版本的ParaView中打开数据,看是否有显示问题。
  2. 在ParaView中查看数据的属性和拓扑关系,确保它们与您预期的一致。
  3. 可以考虑在ParaView的社区论坛或类似的地方寻求帮助,那里可能有更多专业的用户可以提供指导。

是不是你的VTK文件中的数据格式有部分异常数据啊。或者检查下的渲染算法或渲染设置的问题