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