isonormals

Calcula as normais de uma isosuperfície a partir do gradiente dos dados do volume.

Categoria: Graphics > 2-D and 3-D Plots

Sintaxe

n = isonormals(X, Y, Z, V, verts)

Retorna as normais nos vértices verts usando o gradiente de V.

n = isonormals(V, verts)

Usa a grade 1:n em cada direção.

isonormals(___, p)

Define as normais dos vértices do patch p.

Descrição

Iluminar uma superfície exige normais. As normais calculadas a partir do gradiente dos dados são mais suaves e mais fiéis do que as derivadas dos triângulos, então uma isosuperfície iluminada parece arredondada, e não facetada.

Argumentos de entrada

X, Y, Z, V
Grade e dados escalares do volume.
verts
Matriz n-por-3 de vértices.

Argumentos de saída

n
Matriz n-por-3 de vetores normais unitários, um por vértice.

Exemplo

Normais de uma esfera

[x, y, z] = meshgrid(-1:0.5:1);
v = x.^2 + y.^2 + z.^2;
fv = isosurface(x, y, z, v, 0.5);
n = isonormals(x, y, z, v, fv.vertices);
size(n)
norm(n(1,:))
Saída
ans = 1×2

    74     3
ans = 1.1358

Veja também

isosurface isocaps isocolors patch lighting