Совершенствуйте треугольную mesh
Эта страница описывает устаревший рабочий процесс. Новые возможности не могут быть совместимы с устаревшим рабочим процессом. Для соответствующего шага в рекомендуемом рабочем процессе смотрите generateMesh
.
Примечание
Эта функция не поддерживает квадратичные 2D элементы.
[
возвращает усовершенствованную версию треугольной mesh, данной данными о mesh p1
,e1
,t1
] = refinemesh(g
,p
,e
,t
)p
E
, и t
. Для получения дополнительной информации на представлении данных mesh, смотрите Данные о Mesh, когда [p, e, t] Утраивается.
[
совершенствовал mesh и расширяет решение p1
,e1
,t1
,u1
] = refinemesh(g
,p
,e
,t
,u
)u
к новым узлам mesh линейной интерполяцией. Количество строк в u
должен соответствовать количеству столбцов в p
, и u1
имеет столько же строк, сколько существуют точки в p1
.
refinemesh
интерполирует каждый столбец u
отдельно.
[___] = refinemesh(___,
использует аргументы ввода и вывода от предыдущих синтаксисов и задает список it
)it
из геометрических поверхностей или треугольников, чтобы совершенствовать. Скаляр или вектор-строка задают поверхности. Вектор-столбец задает треугольники.
[___] = refinemesh(___,'longest')
использует самое долгое улучшение ребра, где самое длинное ребро каждого треугольника разделено пополам. По умолчанию, refinemesh
использует регулярное улучшение, где все треугольники разделены на четыре треугольника той же формы. Также можно явным образом задать 'regular'
вместо 'longest'
. Если вы используете вектор-столбец it
задавать треугольники, чтобы совершенствовать, затем refinemesh
может совершенствовать некоторые треугольники за пределами заданного набора, чтобы сохранить триангуляцию и ее качество.
Алгоритм улучшения выполняет эти шаги:
Выберите начальный набор треугольников, чтобы совершенствовать.
Разделите все ребра пополам выбранных треугольников (регулярное улучшение) или разделите самое длинное ребро пополам (самое долгое улучшение ребра).
Разделите самое длинное ребро любого треугольника, который имеет разделенное ребро.
Повторите шаг 3, пока больше ребер не будет разделено.
Введите новые точки всех разделенных ребер и замените все разделенные записи в e
двумя новыми записями.
Сформируйте новые треугольники. Если все три стороны разделены, новые треугольники формируются путем присоединения средних точек стороны. Если две стороны разделены, к средней точке самого длинного ребра соединяют с противостоящим углом и с другой средней точкой. Если только самое длинное ребро разделено, к его средней точке соединяют с противостоящим углом.