Уточнение треугольной сетки
На этой странице описывается существующий рабочий процесс. Новые возможности могут быть несовместимы с устаревшим рабочим процессом. Соответствующий шаг рекомендуемого рабочего процесса см. в разделе generateMesh.
[___] = refinemesh(___, использует входные и выходные аргументы из предыдущих синтаксисов и задает список it)it геометрических граней или треугольников для уточнения. Скаляр или вектор строки определяет грани. Вектор столбца задает треугольники.
[___] = refinemesh(___,'longest') использует самую длинную кромку, где самая длинная кромка каждого треугольника разделена пополам. По умолчанию refinemesh использует регулярную уточнение, где все треугольники делятся на четыре треугольника одинаковой формы. Можно также явно указать 'regular' вместо 'longest'. Если используется вектор столбца it чтобы задать треугольники для уточнения, затем refinemesh может уточнить некоторые треугольники вне указанного набора, чтобы сохранить триангуляцию и ее качество.
Алгоритм уточнения выполняется следующим образом:
Выберите исходный набор треугольников для уточнения.
Разделить все кромки выбранных треугольников пополам (регулярное уточнение) или разделить самую длинную кромку пополам (самое длинное уточнение ребер).
Разделите самую длинную кромку любого треугольника, имеющего разделенную кромку.
Повторяйте шаг 3 до тех пор, пока ребра не будут разделены.
Введите новые точки всех разделенных ребер и замените все разделенные записи в e по двум новым позициям.
Сформируйте новые треугольники. Если все три стороны разделены, новые треугольники формируются путем соединения боковых средних точек. Если разделены две стороны, средняя точка самой длинной кромки соединяется с противоположным углом и с другой средней точкой. Если разделена только самая длинная кромка, ее средняя точка соединяется с противоположным углом.