MATLAB画带厚度的圆弧线
搜了很久,没有相关的,所以自己写一下,同时分享出来。
画图主要分为两种,一种是在画布上画,例如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画带厚度的圆弧线相关推荐
- matlab画带方差的柱状图,带方差的柱状图
方法1: 算好方差,通过箭头模拟方差区间: 数据:PhD_fig22D.csv,内容如下: group,CSpluslatency,CSminuslatency,CSplusSEM,CSminusS ...
- matlab 画 带虚部,MATLAB1:求实部、虚部、模和幅角的运算
一.MATLAB 特点:面向数组设计的运算 1.在 MATLAB 中,不必事先对数组维数及大小做任何说明,内存将自动配置. 2.二维数组输入的三大要素:数组标识符"[ ]":元素分 ...
- MATLAB画带延时系统的伯德图
最简单画Bode图就是bode(tf(num,den))就能解决,但是有些传递函数并不是线性的,比如带有延时之类,Bode函数对于这类问题就无能为力 给定系统传递函数 w=logspace(-2,4, ...
- Matlab画带箭头的图
clear; close all; clc n=10;%点的个数 x=5.*rand(n,2);%随机生成点 scatter(x(:,1),x(:,2),'filled'); for i=2:n dr ...
- matlab自带有限元工具分析圆孔应力集中问题
有限元分析结构的力学行为是力学人必备的知识技能,一般分析的步骤为几何建模.划分网格.施加荷载和边界条件.求解,下面我将利用matlab自带的有限元求解器来解决圆孔应力集中问题,本文的matlab版本为 ...
- matlab怎么画map图,用MATLAB自带的worldmap及相关函数画地图
本文主要介绍MATLAB的函数-worldmap,包括使用语法.参数和栗子 语法 worldmap region worldmap(region) worldmap worldmap(latlim,l ...
- matlab画二位温度场图(代码带注释)
matlab画二位温度场图(代码带注释) 实验设备 二维温度图情况 实验设备 设备各个采集温度坐标点如下所示a %给定一个矩形区域76x125 %%这个区域20个离散点就是第一个时间段的温度,采样的2 ...
- 用MATLAB自带的worldmap及相关函数画地图
本文主要介绍MATLAB的函数-worldmap,包括使用语法.参数和栗子 语法 worldmap region worldmap(region) worldmap worldmap(latlim,l ...
- matlab画圆的命令_matlab画半圆
matlab画半圆 (2014-01-07 05:41:01) clear % 清除所有workspace中的变量. [x,y] = meshgrid ([-1:.05:1]); % 这是在打网点,自 ...
最新文章
- WebGL Shader 环境搭建
- 【测试】更新红外遥控信号读取,用示波器抓取红外遥控器NEC信号
- python 统计组合用什么库_Python数据科学,用这些库就够了
- 深入理解C++中的explicit关键字
- HTTP 协议中 Vary 的一些研究
- 再次确认输入值、事件绑定实例、输入框内容获取与显示
- java管理分类编写_java029学生管理系统的编写
- C#中using关键字的作用及其用法(转)
- java之servlet学习基础(一)
- 软件质量管理实践总结
- COMSOL弱形式解微分方程
- linux学习11 正则表达式与文件格式化处理
- centos 7.x 更改 ipv6、numa、thp、io scheduler
- CART树算法解析加举例
- 汉字标点符号unicode
- 【PB】安装PB9.0问题
- Android动画框架(二)----属性动画
- war3 兵种出生位置研究
- 从延迟12周到同步开发同步升级,紫光展锐如何做到快人一步?
- 唤客猫SCRM功能详解(一)
热门文章
- html成绩百分制转换为,设计一个程序,将从键盘上输入的百分制成绩转换成对应的五分制成绩并输出。90分以上为A,80~90分为B,...
- 电脑无法显示移动硬盘文件内容的解决方法
- Django实现excel导入数据库(超详细)
- 云服务器linux(centos)系统下载最新版本R语言
- 嵌入式商业智能报表Wyn Enterprise v4.1:支持SaaS租户和分级组织管理
- vscode调试C/C++报错:the program has exited with code 42 (0x0000002a).
- 经典网络命令(搜集、概括)
- 【python机器学习】线性回归--梯度下降实现(基于波士顿房价数据集)
- php微信公众平台session处理,php微信公众开发平台如何使用session
- 牛客网数据库SQL实战60—— 统计salary的累计和running_total