Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
 
 
主题工具 显示模式
旧 2019-12-10, 20:48   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 在MATLAB中建模HSV颜色空间

我可以在MATLAB中创建3D圆锥体,但是:有谁知道如何绘制圆锥体,以便重新创建HSV颜色空间?我知道有命令:

色彩映射hsv;

但是我该如何使用呢?

提前致谢。



回答:

我猜您想在以下Wikipedia图像中创建类似于圆锥体的图:



一种方法是绘制圆锥体并使用HSV颜色空间的图像在表面上绘制纹理贴图 。这是您可以执行的操作:

% First, create a 100-by-100 image to texture the cone with: H = repmat(linspace(0, 1, 100), 100, 1); % 100-by-100 hues S = repmat([linspace(0, 1, 50) ... % 100-by-100 saturations linspace(1, 0, 50)].', 1, 100); %' V = repmat([ones(1, 50) ... % 100-by-100 values linspace(1, 0, 50)].', 1, 100); %' hsvImage = cat(3, H, S, V); % Create an HSV image C = hsv2rgb(hsvImage); % Convert it to an RGB image % Next, create the conical surface coordinates: theta = linspace(0, 2*pi, 100); % Angular points X = [zeros(1, 100); ... % X coordinates cos(theta); ... zeros(1, 100)]; Y = [zeros(1, 100); ... % Y coordinates sin(theta); ... zeros(1, 100)]; Z = [2.*ones(2, 100); ... % Z coordinates zeros(1, 100)]; % Finally, plot the texture-mapped surface: surf(X, Y, Z, C, 'FaceColor', 'texturemap', 'EdgeColor', 'none'); axis equal 并且您应该得到下图:





更多&回答...
poster 当前离线   回复时引用此帖
 


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 21:15


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.