在 MATLAB 中沿 2 个点绘制一条线

2025年3月17日 | 阅读 7 分钟

在 MATLAB 中绘制两点连线,指的是在二维和三维空间中,通过图形化表示将两个不同的点连接起来。MATLAB 内置的 plot 或 line 函数可以用于此目的。

方法

  • 创建一个由二维矩阵表示的空白黑白图像(bwImage),并指定图像的尺寸(行数和列数)。
  • 定义两个点的坐标(x1, y1, x2, y2)。
  • 确定连接这两点的直线的斜率。
  • 通过遍历图像矩阵的行和列,并应用点斜式(m2),计算每个像素与点1(x1, y1)之间的斜率。
  • 验证计算出的斜率 m2 是否与连接两点的直线的斜率大致相符。如果它们在合理的容差范围内,则将像素值设置为黑色(1)。
  • 显示最终的黑白图像。

以下是 MATLAB 中绘制两点之间连线的详细步骤:

步骤 1:定义两个点

在此步骤中,指定您希望在其之间绘制直线的两个点的 x 和 y 坐标。

步骤 2:创建绘图

在这里,您使用 figure 命令创建一个新图形,然后使用 plot 函数绘制连接两个点的线。根据 'b' 选项,该线应为蓝色,并且为了提高可见性,'LineWidth' 参数将线宽设置为 2。

步骤 3:自定义绘图

此步骤为 x 轴和 y 轴命名,以提高图形的清晰度,并为其添加标题。

步骤 4:为点添加标记(可选)

您可以在此区域用标记来标记这两个点。您可以使用 hold-on 命令在同一图形上添加更多细节。标记的大小和样式可以根据您的偏好进行更改。

步骤 5:显示绘图

在最后一步中,您在图形上显示网格线作为指南,并确保两个轴都以相等的比例缩放,以保持正确的纵横比。

您可以使用 MATLAB 中的 plot 或 line 函数来绘制连接两点的直线。以下是执行这两种方法的说明:

方法 1:使用 plot 函数

输出

Plot a line along 2 points in MATLAB

说明

两个点是什么?

指定要用直线连接的两个点的坐标为 (x1, y1) 和 (x2, y2)。数组 x 和 y 包含这些点。

创建绘图: 使用 figure 命令创建新图形来显示绘图。

绘制直线: 使用 plot 函数绘制连接两个点的直线。在此,您已指定该线应为蓝色(字母 "b" 代表蓝色)。

保持绘图: hold-on 命令在添加更多组件时将当前图形保持在原位。

  • 可以使用 title 提供标题,并使用 xlabel 和 ylabel 添加 x 轴和 y 轴标签。此步骤通过描述性详细信息丰富了图形。

添加标记(可选): 您可能想在此处添加标记,以使两个点更加显眼。此代码使用红色圆圈('ro')作为标记。

释放绘图: 使用 hold-off 命令完成当前图形,并为显示做准备。

方法 2:使用两个点

输出

Plot a line along 2 points in MATLAB
  • 代码中指定了两个点 (x1, y1) 和 (x2, y2),它们将由一条直线连接。
  • figure 命令在新图形窗口中显示绘图。
  • 使用 line 函数创建连接两个指定点的蓝色直线。您可以将 'b' 的颜色更改为您选择的任何颜色。
  • 使用 xlabel 和 ylabel 在图形上标记 x 轴和 y 轴,并使用 title 添加标题“两点之间的直线”。
  • 可选地,在两个指定的点处插入红色圆圈('ro')标记。将 'MarkerSize' 参数设置为 10,使标记更大、更醒目。
  • hold-on 和 hold-off 指令允许在添加内容时暂时挂起当前图形。

实施

输出

Plot a line along 2 points in MATLAB

说明

  • 程序首先定义两个点的坐标:(x1, y1) 和 (x2, y2)。
  • 使用 figure 命令创建一个新图形来设置绘图。
  • plot 函数在两个指定的点之间创建一条蓝色直线。为了使线条更清晰,线宽设置为 2。
  • 使用 xlabel、ylabel、title 和 grid on 命令,可以通过标记 x 轴和 y 轴、添加网格线以及设置标题来定制图形。
  • 为了清晰起见,可以在两个点处选择性地放置红色('ro')和绿色('go')圆圈标记。
  • hold-on 和 hold-off 命令控制图形添加标记。
  • 程序使用 disp 显示有关其目标的更多详细信息。

实施

说明

  • 程序创建一个大小为 10x10 像素的空黑白图像,由 bwImage 矩阵表示。
  • 确定两个点 (x1, y1) 和 (x2, y2)。
  • 进行计算以确定两点之间直线的斜率。
  • 程序在遍历图像矩阵的行和列时,计算每个像素与点 1 (x1, y1) 之间的斜率。
  • 它确定计算出的斜率 m2 是否在某个容差范围内大致等于直线的斜率 (slope)。如果它们匹配,则将像素设置为黑色(1)。
  • 指定灰度范围 [0, 1],并使用 imshow 显示黑白图像。
  • 使用 disp 显示更多与程序相关的信息。

输出

Plot a line along 2 points in MATLAB