如何使用for-loop为半径/中心位置绘制一个圆内的多个圆?

49次浏览(最近30天)
Sandeep库马尔
Sandeep库马尔 2021年9月27日8:41
评论道: 约翰Pelloux-Prayer2021年9月30日8:06
你好,
我想画多个等分的小圆填充在一个扇区更大的圆。
每个小圆的圆心相对于大圆的圆心的径向距离是变化的,从附图中可以看出。较小的圆圈用颜色贴图填充,范围从0到1。
整个绘图将处于一个从1到100秒的时间循环中。
如果有人能分享想法,如果可能的话,简短的代码,那将是非常有帮助的。
谢谢!
Sandeep
1评论
Sandeep库马尔
Sandeep库马尔 2021年9月28日8:24
你好,
因为,我是使用Matlab的新手,我不能正确地处理函数和使用它。
如果可能的话,你能通过演示来详细说明一下吗。那会很有帮助的。
谢谢!
最好的问候,
Sandeep

登录评论。

接受的答案

约翰Pelloux-Prayer
约翰Pelloux-Prayer 2021年9月27日9点38分
你好,
我也有类似的绘图需求。为了绘制圆圈,我使用了polyhape内置函数和下面的代码。有了这个函数,您可以直接调用plot(CoordCircle(radius,xcenter,ycenter)),并根据您的需要更新您的plot。您可以查询多晶硅函数以获得绘图的详细信息,您可以根据需要更改透明度和颜色。
函数RES = CoordCircle (r, x0, y0)
t = 0:0.05:2 *π;
x1 = r * cost + x0;
日元= r * sin (t) + y0;
RES =简化(polyshape (x1, y1));
结束
为了使您的时间依赖表示,我将首先绘制您想要的所有圆,计算新的半径,然后使用图形柄,clf和drawnow函数更新您绘制的圆。
希望这有助于
约翰
5个评论
约翰Pelloux-Prayer
约翰Pelloux-Prayer 2021年9月30日8:06
1)是的,你可以在相同的x,y处画两个圆,但r不同,并使用这个选项。
图(...“FaceAlpha”,0)
使一个圆的内部透明。
如果你需要限制一个圆的半径或圆心,那么你需要在绘制之前设置x,y,r参数的条件。
2)我不确定你的确切意思,如果你想matlab处理自动颜色,你可以删除 'FaceColor',[1,0,0]情节选项。
最好的
约翰

登录评论。

答案(1)

图像分析
图像分析 2021年9月27日14:47
如果你有一个圆心和半径的列表,还有图像处理工具箱,我只要 使用用于显示圆圈的函数:viscircles()
viscircles(中心、半径);
你可以使用很多选项来改变圆圈的外观(颜色,线宽等),所以仔细看看。
4评论
图像分析
图像分析 2021年9月29日13:09
要绘制弧线,请参见FAQ:
你需要算出开始和停止的角度。这部分不是MATLAB -它只是纯粹的10年级数学/几何,所以我相信你能做到。最坏的情况是,你可以只画一个点和一个时间,然后检查这个点离包含圆的圆心是远还是近,比包含圆的半径。如果距离较近就画一个点,如果距离较远就不要画一个点。使用sqrt()使用勾股定理得到欧几里得距离。

登录评论。

标签

下载188bet金宝搏


释放

R2021a

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!