搜了很久,没有相关的,所以自己写一下,同时分享出来。

画图主要分为两种,一种是在画布上画,例如plot这类的:
利用fill函数,其传入参数为若干个坐标点,所以可以利用圆的角度公式
x=x0+rcos(a),y=y0+rsin(a)。然后可以生成两个不同直径的圆,其代码如下:

a1=30;   %弧度角
a2=270;
r=40;
d=5;  %弧线厚度/2
x0=100;
y0=100;
t1= a1/360*2*pi:2*pi/360:a2/360*2*pi;
cir1 = x0+(r-d)*cos(t1);
cir2 = y0+(r-d)*sin(t1);t2= a2/360*2*pi:-2*pi/360:a1/360*2*pi;  %注意角度递减
cir3 = x0+(r+d)*cos(t2);
cir4 = y0+(r+d)*sin(t2);
figure;fill([cir1,cir3],[cir2,cir4],[0,0,1],'EdgeColor',[0,0,1]);

所得结果如下:

另外一种是在图片中以像素点的形式生成,可以利用insertShape函数,其可以在像素图像中生成指定的形状,我们需要的形状是填充多边形:‘FilledPolygon’,其原理与fill相似,所以直接给代码如下:

img=zeros(200,200);
a1=30;   %弧度角
a2=270;
r=40;
d=5;  %弧线厚度
x0=100;
y0=100;
t1= a1/360*2*pi:2*pi/360:a2/360*2*pi;
cir1 = x0+(r-d)*cos(t1);
cir2 = y0+(r-d)*sin(t1);t2= a2/360*2*pi:-2*pi/360:a1/360*2*pi;  %注意角度递减
cir3 = x0+(r+d)*cos(t2);
cir4 = y0+(r+d)*sin(t2);c1=zeros(size(t1,2)*2,1);
c1(1:2:end-1)=cir1';
c1(2:2:end)=cir2';
c2=zeros(size(t2,2)*2,1);
c2(1:2:end-1)=cir3';
c2(2:2:end)=cir4';
c1=[c1',c2'];img=insertShape(img,'FilledPolygon',c1,'Color','red');
figure;
imshow(img);

所得结果如下:

MATLAB画带厚度的圆弧线相关推荐

  1. matlab画带方差的柱状图,带方差的柱状图

    方法1:  算好方差,通过箭头模拟方差区间: 数据:PhD_fig22D.csv,内容如下: group,CSpluslatency,CSminuslatency,CSplusSEM,CSminusS ...

  2. matlab 画 带虚部,MATLAB1:求实部、虚部、模和幅角的运算

    一.MATLAB 特点:面向数组设计的运算 1.在 MATLAB 中,不必事先对数组维数及大小做任何说明,内存将自动配置. 2.二维数组输入的三大要素:数组标识符"[ ]":元素分 ...

  3. MATLAB画带延时系统的伯德图

    最简单画Bode图就是bode(tf(num,den))就能解决,但是有些传递函数并不是线性的,比如带有延时之类,Bode函数对于这类问题就无能为力 给定系统传递函数 w=logspace(-2,4, ...

  4. Matlab画带箭头的图

    clear; close all; clc n=10;%点的个数 x=5.*rand(n,2);%随机生成点 scatter(x(:,1),x(:,2),'filled'); for i=2:n dr ...

  5. matlab自带有限元工具分析圆孔应力集中问题

    有限元分析结构的力学行为是力学人必备的知识技能,一般分析的步骤为几何建模.划分网格.施加荷载和边界条件.求解,下面我将利用matlab自带的有限元求解器来解决圆孔应力集中问题,本文的matlab版本为 ...

  6. matlab怎么画map图,用MATLAB自带的worldmap及相关函数画地图

    本文主要介绍MATLAB的函数-worldmap,包括使用语法.参数和栗子 语法 worldmap region worldmap(region) worldmap worldmap(latlim,l ...

  7. matlab画二位温度场图(代码带注释)

    matlab画二位温度场图(代码带注释) 实验设备 二维温度图情况 实验设备 设备各个采集温度坐标点如下所示a %给定一个矩形区域76x125 %%这个区域20个离散点就是第一个时间段的温度,采样的2 ...

  8. 用MATLAB自带的worldmap及相关函数画地图

    本文主要介绍MATLAB的函数-worldmap,包括使用语法.参数和栗子 语法 worldmap region worldmap(region) worldmap worldmap(latlim,l ...

  9. matlab画圆的命令_matlab画半圆

    matlab画半圆 (2014-01-07 05:41:01) clear % 清除所有workspace中的变量. [x,y] = meshgrid ([-1:.05:1]); % 这是在打网点,自 ...

最新文章

  1. WebGL Shader 环境搭建
  2. 【测试】更新红外遥控信号读取,用示波器抓取红外遥控器NEC信号
  3. python 统计组合用什么库_Python数据科学,用这些库就够了
  4. 深入理解C++中的explicit关键字
  5. HTTP 协议中 Vary 的一些研究
  6. 再次确认输入值、事件绑定实例、输入框内容获取与显示
  7. java管理分类编写_java029学生管理系统的编写
  8. C#中using关键字的作用及其用法(转)
  9. java之servlet学习基础(一)
  10. 软件质量管理实践总结
  11. COMSOL弱形式解微分方程
  12. linux学习11 正则表达式与文件格式化处理
  13. centos 7.x 更改 ipv6、numa、thp、io scheduler
  14. CART树算法解析加举例
  15. 汉字标点符号unicode
  16. 【PB】安装PB9.0问题
  17. Android动画框架(二)----属性动画
  18. war3 兵种出生位置研究
  19. 从延迟12周到同步开发同步升级,紫光展锐如何做到快人一步?
  20. 唤客猫SCRM功能详解(一)

热门文章

  1. html成绩百分制转换为,设计一个程序,将从键盘上输入的百分制成绩转换成对应的五分制成绩并输出。90分以上为A,80~90分为B,...
  2. 电脑无法显示移动硬盘文件内容的解决方法
  3. Django实现excel导入数据库(超详细)
  4. 云服务器linux(centos)系统下载最新版本R语言
  5. 嵌入式商业智能报表Wyn Enterprise v4.1:支持SaaS租户和分级组织管理
  6. vscode调试C/C++报错:the program has exited with code 42 (0x0000002a).
  7. 经典网络命令(搜集、概括)
  8. 【python机器学习】线性回归--梯度下降实现(基于波士顿房价数据集)
  9. php微信公众平台session处理,php微信公众开发平台如何使用session
  10. 牛客网数据库SQL实战60—— 统计salary的累计和running_total