matlab图形着色

转载 2015年11月18日 19:49:10

转自:http://blog.sina.com.cn/s/blog_a16714bf0101d0ck.html

 

 

 

 

matlab图形着色

1.matlab中的颜色查找表函数:

(1)autumn:从红色向橘黄色、黄色平稳过渡;

(2)bone:为含有较高的蓝色组分的gray颜色查找表;

(3)colorcube:包含RGB颜色空间中尽可能多的规则间隔的颜色,它试图提供更多的灰色、纯红、纯绿和纯蓝;

(4)cool:由青色和洋红阴影组成的颜色。在青色和洋红间平滑过渡;

(5)copper:在黑色和亮铜色间平滑过渡;

(6)flag:由红、白、蓝、黑组成。每次索引值增加时,该颜色查找表会完全改变颜色;

(7)gray:线性灰阶颜色查找表;

(8)hot:在黑、红、橘红、黄、白间平滑过渡;

(9)hsv:颜色从红色开始,然后为黄、绿、青、蓝、洋红,最后是红色。特别适合显示周期性函数;

(10)jet:在蓝、青、黄、橘红、红色间过渡;

(11)lines:生成颜色由坐标系对象的colororder属性和灰色阴影确定;

(12)pink:包含品红色的柔和阴影。可以对灰度照片进行棕褐色化;

(13)prism:重复红、橘红、黄、绿、蓝、紫色;

 (14)spring:由洋红和黄色阴影组成;

(15)summer:由绿色和黄色阴影组成;

(16)white:白色;

(17)winter:由蓝色和绿色阴影组成。

2.用colormapeditor可以画出抢眼的图。

[x,y]=meshgrid(-2:0.1:2);
z=x.*exp(-x.^2-y.^2);
surf(x,y,z,gradient(z));
shading interp;
colormapeditor;

[学习笔记]matlab图形着色

图1

[学习笔记]matlab图形着色

图2

[学习笔记]matlab图形着色
图3

3.利用函数del2计算矩阵的拉普拉斯算子,实现表面曲率向颜色映射

具有相似曲率的区域用相同的颜色进行描绘。

p=peaks(40);
c=del2(p);
surf(p,c);
colormap hsv;
%对比
figure
surf(p);
colormap hsv;

[学习笔记]matlab图形着色
图4

4.真彩色表面

创建一个随机着色表面图

z=peaks(25);
c(:,:,1)=rand(25);
c(:,:,2)=rand(25);
c(:,:,3)=rand(25);
surf(z,c);
figure;
surf(z,c,'FaceColor','interp','FaceLighting','phong');
camlight right;

[学习笔记]matlab图形着色
图5
[学习笔记]matlab图形着色
图6

5.纹理映射

纹理映射是通过变换颜色数据将二维图像映射到三维表面上。

clear;
clc;
clf;
load earth;
[x,y,z]=sphere(30);
h=surface(x,y,z);
set(h,'CData',X,'FaceColor','texturemap');%texturemap纹理贴图
colormap(map);
axis equal;
set(gca,'CameraViewAngleMode','manual');
view(3);

[学习笔记]matlab图形着色
图7

6.多边形模型的着色

控制面片着色的属性:

CData:用x,y,z数据指定每个小面或每个顶点的颜色;

CDataMapping:指定是否将颜色数据进行比例化或直接用作颜色映射的索引;

FaceVertexCData:用小面和顶点数据指定每个小面或顶点的颜色;

EdgeColor:指定边的显示,包括隐藏、单色、顶点颜色确定的刻面颜色或顶点颜色确定的插值颜色;

FaceColor:指定小面的显示,包括隐藏、单色、顶点颜色确定的刻面颜色或顶点颜色确定的插值颜色;

MarkerEdgeColor:指定闭合图形的边缘色;

MarkerFaceColor:指定闭合图形的填充色。

%画白色正方体

vert=[1 1 1;1 2 1;2 2 1;2 1 1;1 1 2;1 2 2;2 2 2;2 1 2];
fac=[1 2 3 4;2 6 7 3;4 3 7 8;1 5 8 4;1 2 6 5;5 6 7 8];
patch('Faces',fac,'Vertices',vert,'FaceColor','w');
view(3);
axis square;
axis equal;
%刻面着色

patch('Faces',fac,'Vertices',vert,'FaceVertexCData',hsv(6),'FaceColor','flat');
%插值着色

patch('Faces',fac,'Vertices',vert,'FaceVertexCData',hsv(6),'FaceColor','interp');[学习笔记]matlab图形着色

 

图7

7.片面边着色

v=[0 0 0;1 0 0;1 1 0;0 1 0];
f=[1 2 3 4];
fvc=[1 1 0;1 0 0;0 1 0;1 0 1];
patch('Vertices',v,'Faces',f,'FaceVertexCData',fvc,'FaceColor','flat','EdgeColor','flat','Marker','o','MarkerFaceColor','flat');
set(gcf,'color','w');
view(-16,76);
axis off;
text(0,0,0.5,'1');
text(1,0,0.5,'2');
text(1,1,0.5,'3');
text(0,1,0.5,'4');

[学习笔记]matlab图形着色

图8

修改:f=[4 3 2 1];

 

 

[学习笔记]matlab图形着色



图9

   f的次序改变不仅仅改变边的颜色,还改变了面的颜色,面的颜色是指定的第一个顶点的颜色。

 

相关文章推荐

MATLAB颜色的使用(转)

http://blog.csdn.net/t673afa/archive/2009/09/29/4617106.aspx 如何使用、显示、修改和如何创建用户自己的颜色映象。然后,阐述在一个 图形...

MATLAB 画颜色网格图

meshgrid用法meshgrid用于生成采样点的网格,下面的轮子可以直接采用

matlab工具voicebox函数中文说明

语音合成等函数功能中文注释

对偶问题几何解释

一直以来对对偶问题的几何解释比较懵逼 最近看到一张PPT,对理解这个问题有一些帮助,搬过来了假设我们要求解原问题 minf(x),s.t.g(x)...
  • mucai1
  • mucai1
  • 2017年09月20日 05:35
  • 138

经验 - R - 替换字符串中部分字符

R使用gsub函数提取字符串中部分字符,并进行替换。 使用示例:  a

Java实现图结点着色图形化演示

  • 2014年11月27日 13:52
  • 11KB
  • 下载

Qt_OpengGL:平面图形的着色渲染小测

//.h#ifndef GLWIDGET_H #define GLWIDGET_H #include #include class GLWidget : public QGLWidget { ...

计算机图形学 多边形着色算法

  • 2008年12月10日 22:27
  • 3.58MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:matlab图形着色
举报原因:
原因补充:

(最多只允许输入30个字)