<< Click to Display Table of Contents >> Navigation: Триангулированные модели поверхности > Перемещение точек моделей поверхностей по нормалям в точках |
Чтобы произвести перемещение всех точек одной модели поверхности или всех моделей поверхностей в одном файле в направлении нормалей в точках, используется пункт меню Сервис / Модели поверхностей (dgs) / Переместить точки поверхностей осн. файла по нормалям ('расширить'/'сузить' каркасы).
После выбора этого пункта меню вызывается диалог Перемещение точек моделей поверхностей по нормалям ('расширение' / 'сужение' каркасов) :
Исходный файл с моделями поверхностей - выводится название текущего основного файла с моделями поверхностей, .
Расстояние, на которое переместить точки, м - задается расстояние перемещения точек.
Далее задаются модели поверхности, для которых произвести перемещение моделей поверхностей :
произвести перемещение точек для всех моделей поверхностей файла / произвести перемещение точек только для текущей модели поверхности.
После перемещения точек проверить модели поверхностей - если отмечено, то после выполнения перемещения точек у всех заданных моделей поверхностей производится их проверка.
Если в результате проверке ошибок и предупреждений нет, то информация о проверке выводится только в окно с информацией о работе с программой, а отдельное сообщение о проверке не выводится.
Для каждой точки моделей поверхностей вычисляется вектор нормали, представляющий собой средневзвешенное значение из векторов нормалей треугольников, сходящихся в эту точку.
Затем каждая точка перемещается на заданное расстояние в направлении вычисленной средневзвешенной нормали (если заданное расстояние больше нуля) или в направлении, противоположном этой нормали.
Вектор нормали каждого треугольника перпендикулярен плоскости треугольника и направлен в сторону, с которой точки треугольника расположены против часовой стрелки.
Для замкнутой модели поверхности (каркаса), имеющей положительный объем, векторы нормалей треугольников направлены наружу каркаса, а для каркаса с отрицательным объемом - внутрь каркаса.
Если в модели поверхности имеются треугольники разных направлений, то вычисляемые усредненные векторы нормалей в точках не будут корректно отражать направление перемещения точек.
Для правильного перемещения точек моделей поверхностей по нормалям в точках необходимо, чтобы все треугольники в исходной модели поверхности имели одинаковое направление.
После того, как точки перемещены, могут возникнуть случаи пересечения треугольников между собой. Поэтому желательно производить проверку измененных моделей поверхностей.
Пример перемещения точек для замкнутой модели поверхностей (каркаса) приводящее к его 'расширению' :
Исходный каркас :
Исходный каркас и векторы усредненных нормалей в точках :
Исходный каркас и 'расширенный' каркас :
'Расширенный' каркас, полученный в результате перемещения точек :
Пример перемещения точек для незамкнутой модели поверхностей :
Исходная модель поверхности :
Исходная модель поверхности и векторы усредненных нормалей в точках :
Исходная модель поверхности и новая модель поверхности после перемещения точек :