Matlab:绘制阿基米德螺旋线结构

本文基于阿基米德螺旋线的基本理论,用Matlab实现阿基米德螺旋线的绘制仿真。


Project Code
  • 基本概念:旋向,起始半径r0,螺距P
    在这里插入图片描述
  • 极坐标图下:
% 作者:ZQJ
% 日期:2021.1.6 星期三
%***********************模拟阿基米德螺旋线型**************************
%% 极坐标图
clear,clc;
cir = input('输入阿基米德螺旋线的旋向(右旋为1,左旋为0):');
r0 = input('输入阿基米德螺旋线的起始半径(单位cm):');
landa_spp = input('输入阿基米德螺旋线的螺距(单位cm):');
if cir == 0
    angle = linspace(0,8*pi,1000);
    r = r0 + landa_spp*angle/(2*pi);
    polar(angle,r);
elseif cir == 1
    angle = linspace(0,-8*pi,1000);
    r = r0 + landa_spp*(-angle)/(2*pi);
    polar(angle,r);
end
%   figure处理***************************** 
if cir == 0
    title('极坐标-左旋阿基米德螺旋线');
elseif cir == 1
    title('极坐标-右旋阿基米德螺旋线');
end
  • 直角坐标图下:
% 作者:ZQJ
% 日期:2021.1.6 星期三
%***********************模拟阿基米德螺旋线型**************************
%% 直角坐标图
clear,clc;
cir = input('输入阿基米德螺旋线的旋向(右旋为1,左旋为0):');
r0 = input('输入阿基米德螺旋线的起始半径(单位cm):');
landa_spp = input('输入阿基米德螺旋线的螺距(单位cm):');
if cir == 0
    angle = linspace(0,8*pi,1000);
    r = r0 + landa_spp*angle/(2*pi);
    x = r.*cos(angle);
    y = r.*sin(angle);
    plot(x,y);
elseif cir == 1
    angle = linspace(0,-8*pi,1000);
    r = r0 + landa_spp*(-angle)/(2*pi);
    x = r.*cos(angle);
    y = r.*sin(angle);
    plot(x,y);
end
%   figure处理***************************** 
xlabel('坐标x'), ylabel('坐标y');
if cir == 0
    title('直角坐标-左旋阿基米德螺旋线');
elseif cir == 1
    title('直角坐标-右旋阿基米德螺旋线');
end
grid on;
  • (拓展)三维坐标图下:
% 作者:ZQJ
% 日期:2021.1.6 星期三
%***********************三维(空间)螺旋线型**************************
%% 拓展内容
clear,clc;
cir = input('输入螺旋线的旋向(右旋为1,左旋为0):');
r0 = input('输入螺旋线的起始半径(单位cm):');
L = input('输入螺旋线的螺距(单位cm):');
if cir == 0
    angle = linspace(0,8*pi,1000);
    r = r0 + L*angle/(2*pi);
    x = r.*cos(angle);                 %x-y平面图形基于阿基米德螺旋线
    y = r.*sin(angle);
    z = angle/pi;                      %z方向自定义
    plot3(x,y,z);
elseif cir == 1
    angle = linspace(0,-8*pi,1000);
    r = r0 + L*(-angle)/(2*pi);
    x = r.*cos(angle);                 %x-y平面图形基于阿基米德螺旋线
    y = r.*sin(angle);
    z = -angle/pi;                      %z方向自定义
    plot3(x,y,z);
end
%   figure处理***************************** 
title('螺旋线');
xlabel('x axis'),ylabel('y axis'),zlabel('z axis');
grid on;
仿真结果图:
  • 极坐标图下:
    在这里插入图片描述

  • 直角坐标图下:
    在这里插入图片描述

  • (拓展)三维坐标图下:
    在这里插入图片描述


专栏内容供作者本人或大家学习使用,多多指教 ~

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值