盐城建设企业网站,响应式网站 像素,汉服网站开发背景,重庆模板网站哪个好本文在前文的基础上进一步整理画图方法
MATLAB画动图_CSDN博客 1. 基础图形绘制
1.1 rectangle#xff08;矩形#xff0c;圆形#xff09;
在前文中#xff0c;讲解了如何使用rectangle#xff0c;rectangle本意是用来画矩形的#xff0c;其中#xff0c;Curvature可…本文在前文的基础上进一步整理画图方法
MATLAB画动图_CSDN博客 1. 基础图形绘制
1.1 rectangle矩形圆形
在前文中讲解了如何使用rectanglerectangle本意是用来画矩形的其中Curvature可以调整曲率因此rectangle可以绘制各种矩形包括圆形使用方法为
rectangle(Position, [x, y, width, height], FaceColor, color, FaceAlpha, alpha)
具体实现
figure;% 绘制一个标准矩形
rectangle(Position, [50, 50, 100, 200], EdgeColor, #00c9a7, FaceColor, #00c9a7);
% 绘制一个带圆角的矩形
hold on;
rectangle(Position, [200, 50, 100, 200], Curvature, [0.2, 0.3], EdgeColor, #d65db1, FaceColor, #d65db1);
% 绘制一个完全的圆形
rectangle(Position, [350, 50, 100, 100], Curvature, [1, 1], EdgeColor, #0089ba, FaceColor, #0089ba);% 设置轴等比例显示
axis equal;
grid on;
产生的效果为 具体的颜色推荐使用颜色查找网页可以找到各种各样的颜色ColorSpace - Color Palettes Generator and Color Gradient Tool
1.2 fill以点绘图
fill是根据给定的一系列点进行绘制封闭的曲线其中一个优势是可以设置透明度而rectangle难以实现另外一个优势是理论上可以绘制任意想要的形状并填充颜色。
具体使用方法为定义一个首位顺序相接的多边形顶点x,y
% 定义矩形的顶点
x [2, 5, 5, 2];
y [2, 2, 6, 6];% 绘制并填充红色设置透明度为 0.5边框为黑色
fill(x, y,r,FaceAlpha, 0.5,EdgeColor, k, LineWidth, 1.5);
axis equal;
绘制结果为左图 同样可以使用自定义颜色右图
% 定义矩形的顶点
x [2, 5, 5, 2];
y [2, 2, 6, 6];hexColor #845ec2;
rgbColor sscanf(hexColor(2:end), %2x%2x%2x, [1 3]) / 255;
% 绘制并填充rgbColor 设置透明度为 0.5边框为黑色
fill(x, y,rgbColor,FaceAlpha, 0.5,EdgeColor, k, LineWidth, 1.5);
axis equal; fill还有一个强大的功能就是可扩展比如已经绘制好一个图形可以在原来的基础上进行扩展
close all
% 定义矩形的坐标
x [1, 5, 5, 2,1.5];
y [1, 1, 4, 4,3];% 创建带透明度的填充矩形
fill(x, y, r, FaceAlpha, 0.5, EdgeColor, none); % 透明度为0.5
hold on;
x [2, 5, 5, 1];
y [0, 0, 1, 1];
fill(x, y, r, FaceAlpha, 0.5, EdgeColor, none); % 透明度为0.5% 设置坐标轴
axis([0 6 0 5]);
绘制结果为两个多边形的结合 同样可以绘制圆形写成函数
function drawFilledCircle(center, radius, color) % 将十六进制颜色转换为 RGB 格式rgbColor sscanf(color(2:end), %2x%2x%2x, [1 3]) / 255;% 生成圆的坐标点theta linspace(0, 2*pi, 100); % 圆周角x center(1) radius * cos(theta); % x 坐标y center(2) radius * sin(theta); % y 坐标hold on;% 使用 fill 函数绘制无边框的填充圆形fill(x, y, rgbColor, EdgeColor, none); % 使用自定义 RGB 颜色填充axis equal; % 保持比例一致
end
然后调用
drawFilledCircle([0, 0], 5, #845ec2);