用Matlab绘制正方形圆形椭圆

本文首次在公众号【零妖阁】上发表,为了方便阅读和分享,我们将在其他平台进行自动同步。由于不同平台的排版格式可能存在差异,为了避免影响阅读体验,建议如有排版问题,可前往公众号查看原文。感谢您的阅读和支持!

利用Matlab绘制正方形、圆形、椭圆形,并填充颜色。
1 绘制正方形
2 绘制圆形
3 绘制椭圆形

绘制正方形

a = 2;   % 正方形边长
x = [a/2, -a/2, -a/2, a/2];
y = [a/2, a/2, -a/2, -a/2];
%% 绘图
figure;
fill(x, y, 'c');
axis([-a/2-0.5, a/2+0.5, -a/2-0.5, a/2+0.5]);
grid on;
xlabel('X', 'fontsize', 15, 'fontname','Times', 'FontAngle','italic');
ylabel('Y', 'fontsize', 15, 'fontname','Times', 'FontAngle','italic');
set(gca, 'fontsize', 15, 'fontname','Times');
axis square;

请添加图片描述

绘制圆形

设圆的半径为 r r r ,其参数方程为
{ x = r cos ⁡ ( θ ) y = r sin ⁡ ( θ ) \begin{cases} x = r\cos(\theta) \\ y = r\sin(\theta) \end{cases} {x=rcos(θ)y=rsin(θ)

%% 圆的坐标
r = 1;     % 圆的半径
theta = 0:0.01:2*pi;
x = r*cos(theta);
y = r*sin(theta);
%% 绘图
figure;
fill(x, y, 'c');
axis([-r-0.5, r+0.5, -r-0.5, r+0.5]);
grid on;
xlabel('X', 'fontsize', 15, 'fontname','Times', 'FontAngle','italic');
ylabel('Y', 'fontsize', 15, 'fontname','Times', 'FontAngle','italic');
set(gca, 'fontsize', 15, 'fontname','Times');
axis square;

请添加图片描述

绘制椭圆形

设椭圆的长轴为 2 a 2a 2a ,短轴为 2 b 2b 2b, 其参数方程为
{ x = a cos ⁡ ( θ ) y = b sin ⁡ ( θ ) \begin{cases} x = a\cos(\theta) \\ y = b\sin(\theta) \end{cases} {x=acos(θ)y=bsin(θ)

当椭圆逆时针旋转 θ r \theta_r θr ,其旋转后的坐标为

[ x ′ y ′ ] = [ cos ⁡ ( θ r ) − sin ⁡ ( θ r ) sin ⁡ ( θ r ) cos ⁡ ( θ r ) ] [ x y ] \left[ \begin{matrix} x' \\ y' \end{matrix} \right] = \left[ \begin{matrix} \cos(\theta_r) & -\sin(\theta_r) \\ \sin(\theta_r) & \cos(\theta_r) \end{matrix} \right] \left[ \begin{matrix} x \\ y \end{matrix} \right] [xy]=[cos(θr)sin(θr)sin(θr)cos(θr)][xy]

%% 标准椭圆
a = 3;      % 长轴
b = 1.5;    % 短轴的
theta = 0:0.01:2*pi;
x0 = a/2*cos(theta);
y0 = b/2*sin(theta);
%% 旋转45度后的椭圆坐标
theta_r = pi/4;     % 旋转角度
x = cos(theta_r)*x0 - sin(theta_r)*y0;
y = sin(theta_r)*x0 + cos(theta_r)*y0;
%% 绘图
figure;
fill(x, y, 'c');
axis([-1.5, 1.5, -1.5, 1.5]);
grid on;
xlabel('X', 'fontsize', 15, 'fontname','Times', 'FontAngle','italic');
ylabel('Y', 'fontsize', 15, 'fontname','Times', 'FontAngle','italic');
set(gca, 'fontsize', 15, 'fontname','Times');
axis square;

请添加图片描述

  • 7
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Matlab圆点标定是指在Matlab中对图像中的圆点进行标定的一种方法。圆点标定在计算机视觉、图像处理等领域中具有重要的应用价值。 在进行圆点标定之前,首先需要准备一张包含圆点的图像。这些圆点可以是已知尺寸的人工标定点或者其他特定形状的物体。然后,使用Matlab中的图像处理工具箱对图像进行处理。 首先,读取图像到Matlab的工作空间中。可以使用imread函数实现这一步骤。 接下来,对图像进行预处理,主要包括图像灰度化和滤波操作。通过将图像转换为灰度图像,我们可以简化之后的处理步骤。然后,使用滤波技术如高斯滤波器来减少图像中的噪声。 然后,通过使用Matlab中的二值化函数将图像转换为二值图像。这一步骤可以根据图像中圆点的亮度和颜色特征来实现。二值化后的图像中,圆点将以白色像素表示,背景将以黑色像素表示。 接下来,使用Matlab的图像处理工具箱中的函数来进行圆点检测。这些函数可以根据圆点的形状和尺寸特征,自动识别并标定图像中的圆点。 最后,对于每一个检测到的圆点,可以使用Matlab中的功能来测量其位置坐标,将其标定。通过使用已知的标定点或者特定形状的物体进行标定,可以进一步提高准确度。 总结起来,Matlab圆点标定是通过图像处理技术对图像中的圆点进行识别和测量的一种方法。它可以在计算机视觉和图像处理应用中起到重要的作用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值