matlab画圆

首先介绍一下rectangle函数

1.rectangle函数实际上是一个画矩形的行数,语法调用为:

rectangle(‘Position‘,[x,y,w,h]),表示的是下哦那个点(x,y)开始画一个宽w高h的矩形。默认情况下是从(0,0)开始画一个宽1高1的矩形。例如直接在命令窗口出入:rectangle,axis equal  画出的图形如下图所示。(axis equal的意思是保持横纵坐标等比例)

2.

rectangle函数可以制定矩形边的曲率,这就为我们画圆提供了一个思路。改变曲率的参数是‘Curvature‘,[x,y]  ,先改变一下曲率画个试试。在matlab命令窗口中输入如下命令:

rectangle(‘Position‘,[0,0,1,1],‘Curvature‘,[0.5,0.8]),axis equal

3.

要画圆的话只需要将曲率设置成1就行了。注意‘Curvature‘,[0.5,0.8]后面的两个参数[0.5,0.8]分别表示两个边的曲率。画一个圆试试,输入命令如下:

rectangle(‘Position‘,[0,0,1,1],‘Curvature‘,[1,1]),axis equal;

4.

直接画圆已经可以了,下一步就是指定圆形坐标和半径了。我们不妨先分析一下:

1.rectangle函数本来画的是矩形,可以指定初始位置坐标和半径。如果要画圆首先要把曲率都设置成1;

2.从上一部的图中可以看出画出的圆是曲率为0时矩形的内切圆,所以这里参数的长和宽都等于2倍的半径,即w=h=2r;

3.下面是圆心,可以通过设置初始位置坐标来实现,圆心就是初始位置坐标(x,y)均加上半径r。所以如果已知圆心坐标(x,y)和半径r画圆的话,rectangle函数的未知参数应该为  ‘Position‘,[x-r,y-r,2*r,2*r] 。

4.

matlab画任意位置的圆。例如要画一组圆,已知圆心坐标和半径。

x,y,r

1,1,3

0,4,2

5,4,1

matlab程序:

rectangle(‘Position‘,[-2,-2,6,6],‘Curvature‘,[1,1]),axis equal

rectangle(‘Position‘,[-2,2,4,4],‘Curvature‘,[1,1]),axis equal

rectangle(‘Position‘,[4,3,2,2],‘Curvature‘,[1,1]),axis equal

原文地址:https://www.cnblogs.com/yibeimingyue/p/10841082.html

时间: 2024-10-14 11:50:53

matlab画圆的相关文章

简单谈谈自己对htm与css中画圆的理解。

近几天,在利用css编辑中,发现不少边框图像要求是矩形圆角或者直接画一个圆的例子,下面和大家一起分享下对画圆的看法. 在这次的分享中,我侧重给大家看一些例子来更好的理解, 我们都明白,画圆时要用到“border-radius:”,而且在每次画圆时,我们都应该先设定一个width和height. 那么我们可以这样理解, 我们的圆是在一个矩形(正方形)中进行裁剪的,而border-radius就是我们要裁剪的尺寸. 给大家一些图片,更好的去理解. 首先,我们设定一个width为100px,高度为10

圆角背景实现,如实现圆角按钮;用xml文件画圆

项目中为了更好的视觉效果,然后又懒的去弄图片做背景时,往往就会通过xml布局文件来实现圆角的效果. 在drawable目录下新建一个shape类型的xml文件,设置<corners android:radius="5dp" />,然后在需要设为圆角的控件中,如按钮或LinearLayout,设置他们的background为drawable="@drawable/...".即可达到圆角的效果 // 用xml文件画圆 用竖线连接ListView的各个item

汇编画圆

汇编画圆-->效果如下图 代码如下: 1 dseg segment 2 center_x dw 150 ;原点坐标_x 3 center_y dw 90 ;原点坐标_y 4 radius dw 50 ;半径_r 5 label_x dw ? ;外接正方形右边界 6 label_y dw ? ;外接正方形下边界 7 distance dw ? 8 dseg ends 9 cseg segment 10 assume cs:cseg , ds:dseg 11 start: 12 mov ax , d

中点画线法画圆

中点画线法已经在画直线的时候详细讲过了,画圆时我们也可以用这种方法.画一个圆心为坐标原点的1/4圆,然后对其进行简单几何变换,平移对称,就可以得到任意圆. 类似的用中点画线法,从(0,r)点开始,每次要么向右走,要么向右下走,直到x==y,即到达四分之一圆处: (1)当d<0时,中点在圆内,则取正右方的点,(x+1,y+0.5),此时d=d+2*x+3; (2) 当d>=0时,中点在圆外,则取右下方的点,(x+1,y-1),此时d=d+2*(x-y)+5; (3) d0=1-r,即点(0,r)

matlab画柱状图

论文中需要画图进行比较,感觉还是matlab画起来比较方便,先把自己画的图及matlab代码放上. y=[300 311;390 425; 312 321; 250 185; 550 535; 420 432; 410 520;];b=bar(y);grid on;ch = get(b,'children');set(gca,'XTickLabel',{'0','1','2','3','4','5','6'})set(ch,'FaceVertexCData',[1 0 1;0 0 0;])leg

h5画圆

下面一段代码是,h5的画圆,半圆,四分之一圆等效果 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> div{ width: 300px; height: 300px; border: 1px solid red; border-radius: 150

Unity GL 画圆

Unity下GL没有画圆的函数,只能自己来了. 如果能帮到大家,我也很高兴. 虽然没有画圆的函数,但是能画直线,利用这一点,配合微积分什么的,就可以画出来了.反正就是花很多连在一起的直线,每条直线足够短的时候,就足够圆了 1 void DrawCircle(float x, float y, float z, float r, float accuracy) 2 { 3 GL.PushMatrix (); 4 //绘制2D图像 5 GL.LoadOrtho (); 6 7 float strid

疯狂java 讲义第三章练习题---画圆

public class PaintRound{ /** * @author Dream_e. * @version v1.0 */ private int r;//圆的半径 PaintRound(int r){ this.r = r; } public void paint(){ int y = 2*r;//y的最大值为半径的2倍 int x = 0; int c = 0; int z = 2;//坐标轴递减量. for(int j = y; j >= 0; j-=z){ x = getX(r

ArcGIS JS 学习笔记2 实现仿百度的拖拽画圆

一.前言 吐槽一下,百度在国内除了百度地图是良心产品外,其他的真的不敢恭维.在上一篇笔记里,我已经实现了自定义的地图测量模块.在百度地图里面(其他地图)都有一个周边搜索的功能,拖拽画一个圆,然后以圆半径进行搜索(也就是缓冲区╮(╯_╰)╭). 这次的目标,就是要山寨这个拖拽画圆的功能,我先放一个效果图. 二.开始山寨 我们先想一想要实现这个功能需要哪些步骤. 拖拽 画圆 通知拖拽结束 2.1 实现拖拽 关于拖拽,有graphicslayer的拖拽事件和map的拖拽事件,如何选择呢?先来看一看官方