Функция Delaunay() MATLAB Назначение

Я хочу создать треугольные сетки в MATLAB с функцией Делоне в 2D. Поэтому я объявляю значения X и Y и устанавливаю tri=delaunay(X,Y). Затем я использую Triplot, чтобы построить его. Однако что дает мне tri? Дает ли это каждому моему треугольнику специальный номер обозначения? После прочтения некоторых руководств по MATLAB я до сих пор этого НЕ понимаю.


person Concerned_Citizen    schedule 20.03.2012    source источник
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