Matlab中爱心的四种画法(附代码)

您所在的位置:网站首页 爱心图案创意 Matlab中爱心的四种画法(附代码)

Matlab中爱心的四种画法(附代码)

2023-12-31 16:47| 来源: 网络整理| 查看: 265

 什么Σ(っ°Д°;)っ?居然可以用matlab画出漂亮的爱心图案?

方法一~

% Method 1 x = -1:1/400:1; % 给定一个x的范围,指定步长为1/400 y1 = 0.6 * abs(x) .^ 0.5 + ((1 - x .^ 2) / 2) .^ 0.5; % 爱心的上半部分 y2 = 0.6 * abs(x) .^ 0.5 - ((1 - x .^ 2) / 2) .^ 0.5; % 爱心的下半部分 fill([x, flip(x)], [y1, y2], 'r') % 利用fill()函数画出爱心。第一、二个参数均为向量,对应起来恰好是爱心边上的点。 % "r"指定颜色为 red axis square % 将当前坐标系图形设置为方形 title('I love U'); % 设置标题

~(~▽~~)成品图如下~

 如果要等比例改变爱心的大小,可以指定一个scale:

% 如要改变爱心的大小,可以指定一个scale scale = 2; x = (-1:1/400:1); y1 = (0.6 * abs(x) .^ 0.5 + ((1 - x .^ 2) / 2) .^ 0.5) * scale; y2 = (0.6 * abs(x) .^ 0.5 - ((1 - x .^ 2) / 2) .^ 0.5) * scale; fill([x, flip(x)] * scale, [y1, y2], 'r') axis square title('I love U');

这样一来,爱心就等比例地变为原来的2倍大啦~(面积为4倍)

下面是第二种画法,与第一种大同小异,但画出来的爱心略有不同。

% Method 2 t = -180:1/40:180; x = 16 * sind(t) .^ 3; y = 13 * cosd(t) - 5 * cosd(2 * t) - 2 * cosd(3 * t) - cosd(4 * t); fill(x, y, 'r'); title('I love U');

 

 然后,下面是第三种方法,考虑了极坐标系,但最终转化为了平面直角坐标系。

% Method 3 t = -180:1/40:180; r = sind(t) .* (abs(cosd(t)) .^ 0.7) ./ (sind(t) + 7 / 5) - 2 * sind(t) + 2; x = r .* cosd(t); y = r .* sind(t); fill(x, y, 'r'); title('I love U');

 

 除此之外,还有用线画的第四种方法——

% Method 4 x = -2:1/400:2; y = abs(x .^ (2/3)) + (0.99 * (3.3 - x .^ 2) .^ (1/2)) .* sin(9.9 * pi * x); plot(x, y, 'r'); title('I love U');

 

参考资料:

[1] matlab中fill函数的使用方法. 平平无奇的小女子~. CSDN-onlyfanlala/article/details/121707456

[2] 一些心型曲线及其方程.  stereohomology. CSDN-stereohomology/article/details/51581391

[3]  笛卡尔心形函数表达式_数学的有趣图形-心形线. 江东的铁壁. CSDN-weixin_35117981/article/details/112368380

使用软件:Matlab2022a



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3