登录论坛

查看完整版本 : [MATLAB GUI] 如何使用3维图形的自定义颜色? 如trisurf(tri,X,Y,Z,C)中的C


fgdfg123
2015-04-14, 11:45
如何使用3维图形的自定义颜色? 如trisurf(tri,X,Y,Z,C)中的C


我有一些 圆柱坐标系三维坐标(可用POL2CART转换为直角坐标系)和颜色数值(长整数R*255*255+G*255+B),格式如下(附件):
.0174532925,99,69,67070;
.034906585,0,0,16777215;
.034906585,1,1,16579838;
...




采用:
clear;clc;close all
A= load( ...\get3Dxyzc.txt1');
x=A(:,1);
y=A(:,2);
z=A(:,3);
c=A(:,4);
[x,y,z] = POL2CART(x,y,z);
tri = delaunay(x,y);
% c1=[(c/65025)];
% c2=[mod( (c/255),255)];
% c3=[mod(c,255)];
% c=[c1, c2 ,c3];
trisurf(tri,x,y,z,c);
shading interp


可以画出图形。但取消4行注释后(加载自己的颜色数据),仍不能画出需要的颜色


请指点:)

fgdfg123
2015-04-14, 14:41
c1、c2、c3 都除以255 仍然不行
如果成功显示图像,圆面应为色相环

fgdfg123
2015-04-14, 15:02
看过这个例子了。
clear;clc;close all
C(:,:,1) = rand(25);
C(:,:,2) = rand(25);
C(:,:,3) = rand(25);
Z = peaks(25);
surf(Z,C)
colormap(gray);
shading interp

我的代码中c 已经和这里的C 格式一样了啊

呼唤版主