Это урезанный вопрос этот вопрос . В основном я просто спрашиваю о № 1 в вопросе.
Допустим, у меня есть две группы мешей . Определение класса меша следующее (синтаксис C #):
public class Mesh
{
public List<Element> elements;
public List<Point> points;
}
public class Element
{
public List<int> PointIndex;
}
public class Point
{
public double X;
public double Y;
}
Есть ли какой-нибудь эффективный способ / реализация для нахождения результата логических операций (в моем случае я хотел бы найти пересечение полигонального стиля ) между двумя Mesh
с?
Наивным способом было бы перебрать все Element
внутри объекта Mesh
, проверить другие Element
в другом объекте Mesh
и получить результаты.
Но я полагаю, что для этого есть более эффективный алгоритм - , использующий алгоритм плоской развертки .
Было бы лучше, если бы такой алгоритм уже был реализован в другом месте, либо в .Net, C ++ или в Matlab.