c# - 如何在任意网格上找到顶点的邻居?

标签 c# c++

https://i.imgur.com/ybpvvoD.png

我有一个任意网格,就像上面链接中图片中的那个(这只是一个例子,但我需要它在任何网格上工作;数字只是供引用,我不能依赖顶点排序)。

循环遍历所有顶点(假设从标记为红色的顶点开始)我需要找到标记为蓝色的四个相邻顶点。

我有以下数据:

  • 三角形数组(顶点和边)

  • 顶点数组(空间位置)

  • 边数组(一对顶点)

我尝试循环遍历三角形数组并选择共享起始顶点的那些,结果如下所示:https://i.imgur.com/Z8F0t0k.png

我怎样才能进一步过滤数据,最终只得到标记为蓝色的四个顶点?

最佳答案

我分两步解决了:https://i.imgur.com/FVc6nUc.png

1) 选择共享起始顶点的所有三角形

2) 过滤掉符合这个条件的边:

  • 三角形中的最长边(即斜边)
  • 不包含起始顶点

关于c# - 如何在任意网格上找到顶点的邻居?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56920557/

相关文章:

c# - 使用资源文件而不是附属程序集

C++ 对 const 的引用与文字初始化

c++ - 如何使用 xmlite 将 xml 存储在缓冲区中?

c++ - QGraphicsScene 中的 QPushButton 需要双击而不是单击

python - 如何在C/C++程序中加载内核模块

c++ - C++和Objective C中 "static"的含义有什么区别?

c# - PubNub JSON 序列化代码在示例项目中有效,但在我的项目中无效

c# - 简单的 C# Metro StreamSocket 示例

c# - 处理处理 IDisposable 对象的通用函数

c# - 如何在C#中通过CommandText中的参数进行过滤?