exponenta event banner

faceNormals

(Не рекомендуемый) Модульные нормали заданным треугольникам

faceNormals(TriRep) не рекомендуется. Используйте faceNormal(triangulation) вместо этого.

TriRep не рекомендуется. Используйте triangulation вместо этого.

Описание

пример

FN = faceNormals(TR) возвращает модульный вектор нормали в каждый треугольник в триангуляции. Нормальное, сопоставленное с треугольным i i'строка th FN.

Примечание

Этот запрос только применим к треугольным поверхностным сеткам.

FN = faceNormals(TR,TI) возвращает модульный вектор нормали в каждый из заданных треугольников TI.

Примеры

свернуть все

Триангулируйте выборку случайных точек на поверхности сферы.

numpts = 100;
thetha = rand(numpts,1)*2*pi;
phi = rand(numpts,1)*pi;
x = cos(thetha).*sin(phi);
y = sin(thetha).*sin(phi);
z = cos(phi);
dt = DelaunayTri(x,y,z);
[tri,Xb] = freeBoundary(dt);
tr = TriRep(tri,Xb);

Используйте TriRep объект вычислить векторы нормали для каждого треугольника.

fn = faceNormals(tr);

Отобразите результаты путем графического вывода триангуляции с наложенным quiver график векторов нормали. Используйте incenters поместить векторы в центре каждого треугольника.

P = incenters(tr);
trisurf(tri,Xb(:,1),Xb(:,2),Xb(:,3), ...
     'FaceColor','cyan','faceAlpha',0.8)
axis equal
hold on
quiver3(P(:,1),P(:,2),P(:,3), ...
     fn(:,1),fn(:,2),fn(:,3),0.5,'color','r')
hold off

Figure contains an axes object. The axes object contains 2 objects of type patch, quiver.

Входные параметры

свернуть все

Представление триангуляции в виде TriRep или DelaunayTri объект.

Треугольные индексы в виде вектор-столбца. TI содержит индексы в матрицу триангуляции TR.Triangulation.

Выходные аргументы

свернуть все

Векторы лицевой нормали, возвращенные как матрица. FN m- 3 матрицы, где m = length(TI), количество треугольников, которые будут запрошены. Каждая строка FN(i,:) представляет модульный вектор нормали треугольному TI(i).

Смотрите также

| |

Представленный в R2009a