Я хочу создать треугольные сетки в MATLAB с функцией Делоне в 2D. Поэтому я объявляю значения X и Y и устанавливаю tri=delaunay(X,Y). Затем я использую Triplot, чтобы построить его. Однако что дает мне tri? Дает ли это каждому моему треугольнику специальный номер обозначения? После прочтения некоторых руководств по MATLAB я до сих пор этого НЕ понимаю.
Функция Delaunay() MATLAB Назначение
comment
Кроме того, можно ли обозначить каждый треугольник как 1,2,3....
- person Concerned_Citizen   schedule 20.03.2012
Ответы (1)
Функция delaunay
возвращает tri
в виде матрицы связности треугольников Mx3
, где каждый из M
треугольников представлен целочисленным триплетом, который индексируется в массивах позиций X,Y
вершин.
Наверное, проще на простом примере:
%% a simple square box
X = [0.0; 1.0; 1.0; 0.0];
Y = [0.0; 0.0; 1.0; 1.0];
%% an example output from delaunay()
tri = [1,2,3 %% 1st triangle connects vertices 1,2,3
1,3,4 %% 2nd triangle connects vertices 1,3,4
];
Треугольники просто нумеруются линейно — tri(1,:)
— первый треугольник, tri(n,:)
— n-й треугольник и т. д. Если вы хотите изменить порядок списка треугольников, вы можете переставить массив, но индексация всегда должна быть линейной — если есть M
треугольников индексация должна охватывать 1:M
.
Надеюсь это поможет.
person
Darren Engwirda
schedule
20.03.2012