欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Matlab實現(xiàn)四種HSV色輪圖繪制的示例代碼

 更新時間:2022年07月06日 09:33:22   作者:slandarer  
色輪圖就是色彩相位圖,它完整表現(xiàn)了色相環(huán)360度的全部顏色。本文將利用Matlab語言繪制四種不同的HSV色輪圖,感興趣的可以動手嘗試一下

前言

有粉絲問我圖(d)上的色盤圖咋畫:

明度(V)漸變版

注意,此處是為了還原論文中圖片所以X加了。

%?生成網(wǎng)格
tList=linspace(0,2.*pi,300);
rList=linspace(0,1,100);
[theta,R]=meshgrid(tList,rList);

%?角度及半徑轉(zhuǎn)換為坐標(biāo)
X=cos(theta+pi).*R;
Y=sin(theta).*R;
Z=zeros(size(X));

%?構(gòu)造hsv網(wǎng)格并轉(zhuǎn)換為rgb網(wǎng)格
hsvMesh=cat(3,theta./2./pi,ones(size(R)),R);
rgbMesh=hsv2rgb(hsvMesh);

%?surf繪圖
surf(X,Y,Z,'EdgeColor','none','CData',rgbMesh)
axis?equal;axis([-1,1,-1,1]);
view(0,90);

飽和度(S)漸變版

%?生成網(wǎng)格
tList=linspace(0,2.*pi,300);
rList=linspace(0,1,100);
[theta,R]=meshgrid(tList,rList);

%?角度及半徑轉(zhuǎn)換為坐標(biāo)
X=cos(theta).*R;
Y=sin(theta).*R;
Z=zeros(size(X));

%?構(gòu)造hsv網(wǎng)格并轉(zhuǎn)換為rgb網(wǎng)格
hsvMesh=cat(3,theta./2./pi,R,ones(size(R)));
rgbMesh=hsv2rgb(hsvMesh);

%?surf繪圖
surf(X,Y,Z,'EdgeColor','none','CData',rgbMesh)
axis?equal;axis([-1,1,-1,1]);
view(0,90);

明度飽和度不變花瓣版

%?構(gòu)造花瓣形狀
t=(0:.1:(2.01/3*pi))+pi;
CX=cos(t)+1;
CY=sin(t);
[NCX,NCY]=rotateData(CX,CY,pi/6);
NCX=[NCX,NCX(end:-1:1)];
NCY=[NCY,-NCY(end:-1:1)];

%?循環(huán)繪圖
hold?on;
tt=linspace(0,2*pi,33);tt(end)=[];
for?i=tt
????[tNCX,tNCY]=rotateData(NCX,NCY,i);
????fill(tNCX,tNCY,hsv2rgb([i/2/pi,1,1]),'FaceAlpha',0.2,...
????????'LineWidth',1.5,'EdgeColor',[1,1,1],'EdgeAlpha',0.5)
end
axis?equal;axis([-1.8,1.8,-1.8,1.8]);

%?數(shù)據(jù)旋轉(zhuǎn)角度
function?[X,Y]=rotateData(X,Y,theta)
????rotateMat=[cos(theta),-sin(theta);sin(theta),cos(theta)];
????XY=rotateMat*[X;Y];
????X=XY(1,:);Y=XY(2,:);
end

圖片

HSV全空間

%?線性劃分
h=linspace(0,2*pi,31);h=h(1:26);
s=linspace(0,1,9);
v=linspace(0,1,11);

%?繪制上面
hold?on;
[H,S]=meshgrid(h,s);
surf(S.*cos(H),S.*sin(H),H-H+1,hsv2rgb(cat(3,H/2/pi,S,H-H+1)));
%?繪制側(cè)面
[H,V]=meshgrid(h,v);
surf(V.*cos(H),V.*sin(H),V,hsv2rgb(cat(3,H/2/pi,H-H+1,V)));
%?繪制兩個截面
[S,V]=meshgrid(s,v);
surf(S.*V.*cos(h(1)),S.*V.*sin(h(1)),V,hsv2rgb(cat(3,S-S+h(1)/2/pi,S,V)));
surf(S.*V.*cos(h(end)),S.*V.*sin(h(end)),V,hsv2rgb(cat(3,S-S+h(end)/2/pi,S,V)));

shading?flat;view(60,45);axis?off;
ax=gca;ax.Position=[-1/6,-2/6,1+2/6,1+2/6];

到此這篇關(guān)于Matlab實現(xiàn)四種HSV色輪圖繪制的示例代碼的文章就介紹到這了,更多相關(guān)Matlab HSV色輪圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 用C語言實現(xiàn)簡單五子棋小游戲

    用C語言實現(xiàn)簡單五子棋小游戲

    這篇文章主要為大家詳細(xì)介紹了用C語言實現(xiàn)簡單五子棋小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • C語言中qsort函數(shù)用法及用冒泡排序?qū)崿F(xiàn)

    C語言中qsort函數(shù)用法及用冒泡排序?qū)崿F(xiàn)

    qsort函數(shù)是由C語言提供的標(biāo)準(zhǔn)庫函數(shù), 它的實現(xiàn)思想是快速排序。這篇文章主要介紹了C語言中qsort函數(shù)用法及用冒泡排序?qū)崿F(xiàn)qsort函數(shù)功能,需要的可以參考一下
    2022-10-10
  • 用C語言程序判斷大小端模式

    用C語言程序判斷大小端模式

    本文介紹了用C語言程序判斷大小端的方法,與大家分享一下。
    2013-04-04
  • MFC程序執(zhí)行過程深入剖析

    MFC程序執(zhí)行過程深入剖析

    這篇文章主要介紹了MFC程序執(zhí)行過程,包括對MFC執(zhí)行流程的分析以及斷點調(diào)試分析出的SDI程序執(zhí)行流程,需要的朋友可以參考下
    2014-09-09
  • 淺談C++日志系統(tǒng)log4cxx的使用小結(jié)詳解

    淺談C++日志系統(tǒng)log4cxx的使用小結(jié)詳解

    本篇文章是對C++日志系統(tǒng)log4cxx的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C++ 控制臺彈出文件管理對話框案例

    C++ 控制臺彈出文件管理對話框案例

    這篇文章主要介紹了C++ 控制臺彈出文件管理對話框案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • QT中QStringListModel類的應(yīng)用介紹

    QT中QStringListModel類的應(yīng)用介紹

    QStringListModel是最簡單的模型類,具備向視圖提供字符串?dāng)?shù)據(jù)的能力,本文主要介紹了QT中QStringListModel類的應(yīng)用介紹,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • C++語言實現(xiàn)線性表之鏈表實例

    C++語言實現(xiàn)線性表之鏈表實例

    這篇文章主要介紹了C++語言實現(xiàn)線性表之鏈表,實例分析了C++實現(xiàn)線性表中鏈表的原理與相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-04-04
  • C++常見獲取隨機(jī)數(shù)的方法小結(jié)

    C++常見獲取隨機(jī)數(shù)的方法小結(jié)

    這篇文章主要介紹了C++常見獲取隨機(jī)數(shù)的方法,結(jié)合實例形式總結(jié)分析了C++獲取隨機(jī)數(shù)的幾種常見方法與相關(guān)操作注意事項,需要的朋友可以參考下
    2018-05-05
  • C++編寫簡易的飛機(jī)大戰(zhàn)

    C++編寫簡易的飛機(jī)大戰(zhàn)

    一款自己設(shè)計的飛機(jī)小游戲,本程序于運行環(huán)境WINDOWS XP系統(tǒng),采用C++語言編寫。游戲具有得分排名榜,而且在游戲完成后可以提交得分到網(wǎng)絡(luò)上的世界排名榜中。
    2015-08-08

最新評論