校园网站建设培训网页设计模板素材网站大全

代码提供了一种直观的方式来使用鼠标在图形窗口中绘制线条,同时能够记录并显示用户绘制的轨迹坐标。用户通过左键点击绘制点,右键点击结束绘制,适合用于简单的图形交互和数据可视化。
文章目录
- 代码作用
- 运行
- MATLAB源代码
- 代码详解
代码作用
这段 MATLAB 代码实现了一个简单的图形绘制工具,用户可以通过鼠标在图形窗口中绘制线条。
运行
运行程序后,在出现的窗口上使用鼠标左击绘制需要的轨迹:

右击完成绘制后,命令行会输出轨迹中各点的坐标:

同时变量x和y也会存储上述数据。
MATLAB源代码
clc;clear;close all;
% 创建新图形窗口
figure;
axis([0 10 0 10]); % 设置坐标轴范围
grid on;
title('用鼠标左击绘图,右击结束绘制');% 初始化坐标数组
x = [];
y = [];% 鼠标绘图
hold on;
while true[xi, yi, button] = ginput(1); % 获取鼠标点击的一个点if isempty(button) || button == 1 % 左键点击x = [x; xi]; % 存储 x 坐标y = [y; yi]; % 存储 y 坐标plot(x, y, 'b-', 'LineWidth', 2); % 绘制线elseif button == 3 % 右键点击结束break; % 退出循环end
end
hold off;% 显示轨迹的 XY 坐标
disp('轨迹的 XY 坐标:');
disp([x, y]); % 打印坐标
代码详解
-
创建图形窗口:
figure;:打开一个新的图形窗口。
-
设置坐标轴:
axis([0 10 0 10]);:设置坐标轴的范围为 x 轴和 y 轴都在 0 到 10 之间。grid on;:启用网格线,方便用户查看坐标。
-
设置标题:
title('用鼠标左击绘图,右击结束绘制');:为图形添加标题,提示用户如何使用该工具。
-
初始化坐标数组:
x = [];和y = [];:初始化两个空数组,用于存储鼠标点击的 x 和 y 坐标。
-
绘图循环:
hold on;:允许在同一图形上绘制多条线。while true:进入一个无限循环,等待用户输入。[xi, yi, button] = ginput(1);:使用ginput函数获取用户点击的鼠标坐标(xi,yi)和按钮状态(button)。if isempty(button) || button == 1:检查是否左键点击(button == 1)。x = [x; xi];和y = [y; yi];:将新点击的坐标添加到数组中。plot(x, y, 'b-', 'LineWidth', 2);:绘制当前的线条,使用蓝色(‘b-’)和线宽为 2。
elseif button == 3:检测右键点击(button == 3)。break;:退出循环,结束绘制。
-
结束绘制:
hold off;:停止在同一图形上绘制。
-
显示坐标:
disp('轨迹的 XY 坐标:');:打印提示信息。disp([x, y]);:输出用户绘制的所有坐标。
如需帮助,或有导航、定位滤波相关的代码定制需求,请点击下方卡片联系作者
