Вам нужно два угла для представления «угла резания» в 3-х измерениях.
Вероятно, в математике проще использовать точку и нормаль, определяющую плоскость , которая делит модель на две части.
Затем вы можете определить, какие части модели находятся на одной стороне плоскости, а какие - на другой. Просто включите каждую точку в уравнение плоскости, например,
ax + by + cz + d
.. если результат> 0, точка находится на одной стороне, а если <0, то на другой. </p>
Вы можете обнаружить треугольники, которые пересекают плоскость (потому что некоторые вершины находятся на одной стороне, а некоторые - на другой), и разбить их на несколько треугольников, чтобы сохранить «разрез» прямо, например,
/\
/ \
--------------- (cut)
/\ /\
/ \ / \
/ \/ \
------------
(Обратите внимание, что вам нужно только два треугольника ниже линии - я не художник :)
Затем, если вы разрезали твердую модель на две части и вам нужно «наложить» на созданное вами отверстие, вам нужно будет тесселяция (или триангуляция ) точки на разделительной плоскости создают там новый многоугольник . Это не всегда легко, особенно если многоугольник не выпуклый .