matlab圖形着色html
1.matlab中的顏色查找表函數:spring
(1)autumn:從紅色向橘黃色、黃色平穩過渡;app
(2)bone:爲含有較高的藍色組分的gray顏色查找表;函數
(3)colorcube:包含RGB顏色空間中儘量多的規則間隔的顏色,它試圖提供更多的灰色、純紅、純綠和純藍;學習
(4)cool:由青色和洋紅陰影組成的顏色。在青色和洋紅間平滑過渡;url
(5)copper:在黑色和亮銅色間平滑過渡;spa
(6)flag:由紅、白、藍、黑組成。每次索引值增長時,該顏色查找表會徹底改變顏色;orm
(7)gray:線性灰階顏色查找表;htm
(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;
圖1
圖2
3.利用函數del2計算矩陣的拉普拉斯算子,實現表面曲率向顏色映射
具備類似曲率的區域用相同的顏色進行描繪。
p=peaks(40);
c=del2(p);
surf(p,c);
colormap hsv;
%對比
figure
surf(p);
colormap hsv;
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;
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);
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');
圖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');
圖8
修改:f=[4 3 2 1];
圖9
f的次序改變不單單改變邊的顏色,還改變了面的顏色,面的顏色是指定的第一個頂點的顏色。