изоцвета

Вычислите изоповерхность и цвета шаблона

Синтаксис

nc = isocolors(X,Y,Z,C,vertices)
nc = isocolors(X,Y,Z,R,G,B,vertices)
nc = isocolors(C,vertices)
nc = isocolors(R,G,B,vertices)
nc = isocolors(...,PatchHandle)
isocolors(...,PatchHandle)

Описание

nc = isocolors(X,Y,Z,C,vertices) вычисляет цвета изоповерхности (объект закрашенной фигуры) вершины (vertices) с помощью значений цвета C. Массивы X, Y, Z задает координаты для цветных данных в C и должен быть монотонными векторами, которые представляют Декартову, выровненную осью сетку (как будто произведенный meshgrid). Цвета возвращены в nc. C должен быть 3-D (индексные цвета).

nc = isocolors(X,Y,Z,R,G,B,vertices) использование R, G, B как красные, зеленые, и синие цветовые гаммы (истинные цвета).

nc = isocolors(C,vertices), и nc = isocolors(R,G,B,vertices) примите X, Y, и Z определяется выражением

[X Y Z] = meshgrid(1:n,1:m,1:p) 

где [m n p] = size(C).

nc = isocolors(...,PatchHandle) использует вершины от закрашенной фигуры, идентифицированной PatchHandle.

isocolors(...,PatchHandle) устанавливает свойство FaceVertexCData закрашенной фигуры, заданной PatchHandle к вычисленным цветам.

Примеры

свернуть все

Этот пример отображает изоповерхность и окрашивает ее со случайными данными с помощью индексированного цвета.

[x,y,z] = meshgrid(1:20,1:20,1:20);
data = sqrt(x.^2 + y.^2 + z.^2);
cdata = smooth3(rand(size(data)),'box',7);
p = patch(isosurface(x,y,z,data,10));
isonormals(x,y,z,data,p)
isocolors(x,y,z,cdata,p)
p.FaceColor = 'interp';
p.EdgeColor = 'none';
view(150,30)
daspect([1 1 1])
axis tight
camlight
lighting gouraud

Этот пример отображает изоповерхность и окрашивает ее с истинным цветом (RGB) данные.

[x,y,z] = meshgrid(1:20,1:20,1:20);
data = sqrt(x.^2 + y.^2 + z.^2);
p = patch(isosurface(x,y,z,data,20));
isonormals(x,y,z,data,p)
[r,g,b] = meshgrid(20:-1:1,1:20,1:20);
isocolors(x,y,z,r/20,g/20,b/20,p)
p.FaceColor = 'interp';
p.EdgeColor = 'none';
view(150,30) 
daspect([1 1 1])
camlight 
lighting gouraud

Этот пример использует isocolors, чтобы вычислить, данные об истинном цвете с помощью изоповерхности (исправьте объект), вершины, но затем возвращает цветные данные в переменной (c) в порядке изменить значения. Это затем явным образом устанавливает FaceVertexCData изоповерхности на новые данные (1-c).

[x,y,z] = meshgrid(1:20,1:20,1:20);
data = sqrt(x.^2 + y.^2 + z.^2);
p = patch(isosurface(data,20));
isonormals(data,p)
[r,g,b] = meshgrid(20:-1:1,1:20,1:20);
c = isocolors(r/20,g/20,b/20,p);
p.FaceVertexCData = 1-c;
p.FaceColor = 'interp';
p.EdgeColor = 'none';
view(150,30) 
daspect([1 1 1])
camlight 
lighting gouraud

Расширенные возможности

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

| | | | | |

Представлено до R2006a