Matlab动态心形代码
喜欢自取~~
% 参数方程定义心形边界上的点
t = linspace(0, 2*pi, 1000); % 创建一个包含1000个点的向量t,从0到2*pi
x = 16*sin(t).^3; % x坐标的表达式
y = 13*cos(t) - 5*cos(2*t) - 2*cos(3*t) - cos(4*t); % y坐标的表达式
% 初始化图形窗口
figure;
axis([-20 20 -20 20]); % 设置坐标轴范围
axis equal; % 设置坐标轴的比例相等
grid off; % 关闭网格
% 创建动画
nFrames = 50; % 动画帧数
delay = 0.1; % 每帧之间的延迟时间(秒)
scaleFactors = linspace(0.5, 1.5, nFrames); % 定义心形大小的缩放因子
for k = 1:nFrames
% 计算当前帧的心形坐标
scaledX = 16*scaleFactors(k)*sin(t).^3;
scaledY = 13*scaleFactors(k)*cos(t) - 5*scaleFactors(k)*cos(2*t) - 2*scaleFactors(k)*cos(3*t) - scaleFactors(k)*cos(4*t);
% 清除当前图形(如果需要)
clf;
% 绘制并填充当前帧的心形
fill(scaledX, scaledY, 'r'); % 用红色填充心形
hold on; % 保持当前图形,以便添加其他元素(如果需要)
% 设置标题,使用LaTeX格式加粗并设置字体大小
title([' 心形代码'], 'Interpreter', 'latex'); % 假设字体大小为16
% 暂停一段时间
pause(delay);
end
hold off; % 释放图形保持状态