Matlab中爱心的四种画法(附代码) |
您所在的位置:网站首页 › 爱心怎么画一步一步的画简单 › Matlab中爱心的四种画法(附代码) |
什么Σ(っ°Д°;)っ?居然可以用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 |