MATLAB之画确定区域内不重合的随机圆
MATLAB之画确定区域内不重合的随机圆
程序要求:在确定区域内,画互不重合的圆。
知识点:
(1)A=p'; 转置运算
(2)ones(a,b)产生a行b列全1数组
(3)rand(a,b)产生a行b列个0~1之间的随机数
(4)函数简介:输入参数:N为圆的个数,D为圆的半径,K为两圆之间的距离(D的倍数);输出为各圆心的坐标;并作图
程序:
function [xdata,ydata] = dataH(N,D,K)
%N为圆的个数,D为圆的半径,K为两圆之间的距离(D的倍数)
b=D*ones(1,N); %生成半径为D的数组,100个
S=[150,100]; %**区域大小**
p=b(1)+(S-2*b(1)).*rand(1,2); %产生一个随机点
A=p'; %第一点坐标记录进矩阵A中,转置运算
t=0:360;
plot([0 400 400 0 0],[0 0 400 400 0]); %画区域方框
hold on
for ii=2:N
p=b(ii)+(S-2*b(ii)).*rand(1,2); %产生一个新随机点,rand(1,2)表示产生一行两列(0,1)之间的随机数
while any((A(1,:)-p(1)).^2+(A(2,:)-p(2)).^2<K*K*D*D) %距离判断
p=b(ii)+(S-2*b(ii)).*rand(1,2);
end
A = [A,p']; %保存新的点到矩阵A
patch(p(1)+b(ii)*cosd(t),p(2)+b(ii)*sind(t),'r'); %填充一个圆
end
hold off
axis equal
axis([0 150 0 100]);
A=[b;A];
xdata = A(2,:);
ydata =A(3,:);
end
运行结果:

MATLAB之画确定区域内不重合的随机圆的更多相关文章
- MATLAB之画确定区域内互不接触的球
MATLAB之画确定区域内互不接触的球 程序要求:在确定区域内,画互不接触的球 输入:球的个数N,半径D,两球之间的最小距离K倍(D的倍数) 输出:各圆心的三维坐标,并作图显示 程序: functio ...
- matlab函数_连通区域
1. matlab函数bwareaopen──删除小面积对象格式:BW2 = bwareaopen(BW,P,conn)作用:删除二值图像BW中面积小于P的对象,默认情况下使用8邻域.算法:(1)De ...
- 【百度地图API】如何利用自己的数据制作社交地图?只显示可视区域内的标注
原文:[百度地图API]如何利用自己的数据制作社交地图?只显示可视区域内的标注 摘要:如果你自己的数据已经超过1万个,如何进行合理的显示?除了聚合marker外,还有一个办法.那就是,只显示可视区域内 ...
- 判断一个点是否在某个区域内。百度,高德,腾讯都能用。(php版)
<?php // *** 配置文件(表示区域的三维数组)其内的点,必须按顺时针方向依次给出! $area = array( // 天通苑店 0 => array( array('x'=&g ...
- 【GIS新探索】算法实现在不规则区域内均匀分布点
1 概要 在不规则区域内均匀分布点,这个需求初看可能不好理解.如果设想一下需求场景就比较简单了. 场景1:在某个地区范围内,例如A市区有100W人口,需要将这100W人口在地图上面相对均匀的标识出来. ...
- 【转】matlab函数_连通区域
转载自einyboy的博文Matlab的regionprops详解 1. matlab函数bwareaopen──删除小面积对象格式:BW2 = bwareaopen(BW,P,conn)作用:删除二 ...
- 推断一个点是否在某个区域内。百度,高德,腾讯都能用。(php版)
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/ ...
- 【原】ios的hitTest方法以及不规则区域内触摸事件处理方法
概述 在正常的使用场景中,我们处理了比较多的矩形区域内触摸事件,比如UIButton.UIControl.一般来说,这些控件的图形以及触摸区域都是矩形或者圆角矩形的.但是在一些特殊应用场景中我们有时不 ...
- java/c# 判断点是否在多边形区域内
java/c# 判断点是否在多边形区域内 年06月29日 ⁄ 综合 ⁄ 共 1547字 ⁄ 字号 小 中 大 ⁄ 评论关闭 最近帮别人解决了一个问题,如何判断一个坐标点,是否在多边形区域内(二维). ...
随机推荐
- This account is currently not available
今天在linux下切换用户发现提示This account is currently not available,说是无效用户了后来网上查了一下发现是用户的shell禁止登录了,解决方法只要开启she ...
- Linux kernel分析前的准备
分析工具 “欲善其事,先利其器”.Linux内核的代码量非常大,如果没有一个好的察看分析工具,那将是一件非常繁琐的事情. Vim+cscope cscope,如果你知道ctags,那么它是一个比cta ...
- html span
提示:请使用 <span> 来组合行内元素,以便通过样式来格式化它们.注释:span 没有固定的格式表现.当对它应用样式时,它才会产生视觉上的变化.以上是w3上的标准解释,另外span是个 ...
- Spring JdbcTemplate+JdbcDaoSupport实例(和比较)
首先,数据库是这样的,很简单. 当然,要引入spring的包,这里我全部导入了,省事. applicationContext.xml是这样的: <?xml version="1.0&q ...
- Python开发【第三篇】:分支循环
1. if 条件语句 语法: if 条件: 代码块 # 条件为真执行 else: # else 可选 代码块 # 条件为假执行 示例: n = int(input('请输入一个数字:')) i ...
- GridView 高亮某一行
<script type="text/javascript"> $(document).ready(function () { $("#GridView tr ...
- unity 3d 之合并网格和贴图(combine mesh and texture)
https://www.cnblogs.com/eangulee/p/3877824.html unity 3d 之合并网格和贴图(combine mesh and texture) 本人是个小白 ...
- 洛谷P3128 [USACO15DEC]最大流Max Flow
P3128 [USACO15DEC]最大流Max Flow 题目描述 Farmer John has installed a new system of N-1N−1 pipes to transpo ...
- IOS swift实现密码的显示与隐藏切换
最近做项目遇到一个需要做密码的显示与隐藏功能,简单从功能上讲是比较简单的,但是,ios有个恶心的BUG,就是在切换显示密码后再隐藏密码时输入就被清空了,这个非常不友好,为了解决这个问题,我在网上找了相 ...
- Spring是一个分层的Java
Spring简介 Spring是一个分层的Java SE/EE应用一站式的轻量级开源框架.Spring核心是IOC和AOP. Spring优点 -方便解耦,简化开发,通过Spring提供的IoC容器, ...