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之画确定区域内不重合的随机圆的更多相关文章

  1. MATLAB之画确定区域内互不接触的球

    MATLAB之画确定区域内互不接触的球 程序要求:在确定区域内,画互不接触的球 输入:球的个数N,半径D,两球之间的最小距离K倍(D的倍数) 输出:各圆心的三维坐标,并作图显示 程序: functio ...

  2. matlab函数_连通区域

    1. matlab函数bwareaopen──删除小面积对象格式:BW2 = bwareaopen(BW,P,conn)作用:删除二值图像BW中面积小于P的对象,默认情况下使用8邻域.算法:(1)De ...

  3. 【百度地图API】如何利用自己的数据制作社交地图?只显示可视区域内的标注

    原文:[百度地图API]如何利用自己的数据制作社交地图?只显示可视区域内的标注 摘要:如果你自己的数据已经超过1万个,如何进行合理的显示?除了聚合marker外,还有一个办法.那就是,只显示可视区域内 ...

  4. 判断一个点是否在某个区域内。百度,高德,腾讯都能用。(php版)

    <?php // *** 配置文件(表示区域的三维数组)其内的点,必须按顺时针方向依次给出! $area = array( // 天通苑店 0 => array( array('x'=&g ...

  5. 【GIS新探索】算法实现在不规则区域内均匀分布点

    1 概要 在不规则区域内均匀分布点,这个需求初看可能不好理解.如果设想一下需求场景就比较简单了. 场景1:在某个地区范围内,例如A市区有100W人口,需要将这100W人口在地图上面相对均匀的标识出来. ...

  6. 【转】matlab函数_连通区域

    转载自einyboy的博文Matlab的regionprops详解 1. matlab函数bwareaopen──删除小面积对象格式:BW2 = bwareaopen(BW,P,conn)作用:删除二 ...

  7. 推断一个点是否在某个区域内。百度,高德,腾讯都能用。(php版)

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/ ...

  8. 【原】ios的hitTest方法以及不规则区域内触摸事件处理方法

    概述 在正常的使用场景中,我们处理了比较多的矩形区域内触摸事件,比如UIButton.UIControl.一般来说,这些控件的图形以及触摸区域都是矩形或者圆角矩形的.但是在一些特殊应用场景中我们有时不 ...

  9. java/c# 判断点是否在多边形区域内

    java/c# 判断点是否在多边形区域内 年06月29日 ⁄ 综合 ⁄ 共 1547字 ⁄ 字号 小 中 大 ⁄ 评论关闭 最近帮别人解决了一个问题,如何判断一个坐标点,是否在多边形区域内(二维). ...

随机推荐

  1. mongodb教程国外

    https://docs.mongodb.com/manual/reference/operator/aggregation/lookup/

  2. p1919 A*B Problem升级版

    传送门 题目 给出两个n位10进制整数x和y,你需要计算x*y. 输入格式: 第一行一个正整数n. 第二行描述一个位数为n的正整数x. 第三行描述一个位数为n的正整数y. 输出格式: 输出一行,即x* ...

  3. idea中,使用Gradle创建的项目,如何变为web项目

    当idea开发项目时,使用gradle构建项目,包引用完后,发现idea并没有正确识别项目为web项目. 主要有两点表现: 1. src/main/resources的resources目录没有或有但 ...

  4. win7 失去焦点解决方案

    将HKEY_CURRENT_USER\Control Panel\Desktop中的ForegroundLockTimeout的选项,改成十进制的200000毫秒或者十六进制30d40. 参考链接: ...

  5. unity 查找游戏中隐藏的物体

    在Hierarchy 有时会隐藏一些游戏物体,我们需要在游戏的时候将其激活状态变为true 我们发现通过  GameObject.Find("隐藏物体名字") 是查找不到隐藏对象的 ...

  6. 项目接入apm后错误报警总结

    此文已由作者张磊授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 前言: 后端服务一般都有监控措施,一般可以及时发现线上错误,但是很多项目的前端却没有线上报警服务,即使有错误, ...

  7. Linux vim常用选项

    Vim命令 三种模式 Command Mode 命令模式 Insert Mode 插入模式 Last LineMode 底行模式 底行模式常用命令 :w 保存 :q 退出 :! + 命令 :! ls ...

  8. python下一个转码的问题

    我想把一个quoted的字符串经过unquote处理后,打印出来.被unquote处理后的字串应该是utf-8的,因此还需要按照utf-8再做一次解码,代码如下:   import urllib im ...

  9. Trie[字典树] 数据结构及基本操作集

    #include <iostream> #include <stdio.h> #include <cstring> #include <algorithm&g ...

  10. Unity3D -- shader常用函数和变量

    最近在学习Unity Shader,写Shader的时候总是忘记Unity为我们提供的函数.变量怎么写的,这里整理一下,方便自己查阅,也提供给网友,学习Shader不易. 1.函数 float3 Wo ...