目标:在限定区域求n=20个圆的覆盖面积

圆心随机抛洒,存在两方面的问题:1)圆心所在的覆盖圆盘处于边界区域,覆盖范围越界

2)圆与圆之间相交,存在覆盖面积的重复

必须减去这2部分的越界和重复面积。

问题:相交圆面积求解时,分别以第一个圆心与其他点判断欧氏距离d,d<2R时候相交 可以几何知识求解。当考虑3圆4圆n个圆相交,如何求其覆盖面积

程序如下:

clear

R=10;

A=rand(20,2)*100;

S1=20*pi*(R^2);%20个节点的不考虑冗余覆盖所占面积

%%%%%冗余边界的计算

S2=[];

x=A(:,1);

y=A(:,2);

%%%%%%%%%%%%%考虑越界部分的面积

for i=1:20

if x(i)<10 & 10

%y(i)

a=acos((x(i))/R);

S3=a*R^2-R*sin(a)*x(i);

S2=[S2,S3];

elseif x(i)>90 & 10

x1(i)=100-x(i);

a=acos((x1(i))/R);

S3=a*R^2-R*sin(a)*x1(i);

S2=[S2,S3];

elseif y(i)<10 & 10

b=acos(y(i)/R);

S3=b*R^2-R*sin(b)*y(i);

S2=[S2,S3];

elseif y(i)>90 & 10

y1(i)=100-y(i);

b=acos(y1(i)/R);

S3=b*R^2-R*sin(b)*y1(i);

S2=[S2,S3];

elseif x(i)<10 & y(i)<10

a=acos(x(i)/R);

b=acos(y(i)/R);

S3=0.5*(a+b+0.5*pi)*R^2-(x(i)*y(i)+0.5*x(i)*R*sin(a)+0.5*y(i)*R*sin(b));

S2=[S2,S3];

elseif x(i)>90 & y(i)>90

x1(i)=100-x(i);

y1(i)=100-y(i);

S3=0.5*(a+b+0.5*pi)*R^2-(x1(i)*y1(i)+0.5*x1(i)*R*sin(a)+0.5*y1(i)*R*sin(b));

S2=[S2,S3];

end

end

%%%%%%%%%%%%计算相交圆的冗余%%%%%%%%%%%%%%%只是考虑2圆相交,SOS 3圆、4圆……n圆相交

S4=[];

for e=1:19

for i=(e+1):20

d=sqrt((x(e)-x(i))^2+(y(e)-y(i))^2);

if d

a=acos(d/(2*R));

S5=2*a*(R^2)-R*sin(a)*d;

S4=[S4,S5];

end

end

end

S=S1-sum(S2)-sum(S4)

[本帖最后由 fdtfd888 于 2010-10-8 10:22 编辑]

matlab计算圆重叠面积,matlab求n个相交圆的面积相关推荐

  1. matlab求三圆相交面积,matlab求n个相交圆的面积

    目标:在限定区域求n=20个圆的覆盖面积 圆心随机抛洒,存在两方面的问题:1)圆心所在的覆盖圆盘处于边界区域,覆盖范围越界 2)圆与圆之间相交,存在覆盖面积的重复 必须减去这2部分的越界和重复面积. ...

  2. matlab 计算指北角,用MATLAB如何计算出矩形区域内的最大值?

    在MATLAB图像处理工具箱(Image Processing Toolbox)的GUI函数中,有一些用来在图像或坐标轴上选择矩形或椭圆区域的函数,使用示例如下: 第一行代码:显示matlab内置的一 ...

  3. matlab计算重心的函数,MATLAB计算出图像中多个物体的个数及重心.doc

    MATLAB计算出图像中多个物体的个数及重心 计算出原始图像中物体的个数及每个物体的中心,并显示出来 I=imread('keshe17.bmp'); //主函数 figure(1),imshow(I ...

  4. spwm matlab 计算波表,利用MATLAB计算SPWM脉冲宽度与并应用STM32输出

    先上一张spwm波形生成原理图: 首先利用MATLAB产生三角波与正弦波叠加: %% 产生正弦波与三角波叠加 y1=abs(sawtooth(a*2*pi*m,0.5));%三角波 y2=0.8*si ...

  5. matlab计算膜孔径分布,应用Matlab绘制活性炭吸附等温线和孔径分布图

    第 31 卷 第 9 期 2012 年 9 月 实 验 室 研 究 与 探 索 RESEARCH AND EXPLORATION IN LABORATORY Vol. 31 No. 9 Sep. 20 ...

  6. matlab计算原点矩,关于用matlab求样本均值方差以及k阶原点矩的matlab程序

    关于用matlab求样本均值方差以及k阶原点矩的matlab 程序 关于用matlab求样本均值和方差以及matlab程 序 1n1. 样本均值,公式xX,(其中X为样本).程序如下: ,i,1in ...

  7. matlab计算一个长式子,matlab求积分,式子太长

    小弟遇到一式子, f(x)=6.02538E28*x^3*(-3.1542E-57/x^2+5.5256E47*(sin(1.4116*x)-1.4116*x*cos(1.4116*x))*exp(- ...

  8. matlab 计算结果为nan,matlab 计算 结果总是为Nan

    本人刚刚接触matlab,对这些运算不是很懂  计算ni的位置(exp(-E_g./(2.*k.*T))+eps)这个值之前一直是0 加了eps后就有结果显示了 后面部分exp((alfa.*T)./ ...

  9. matlab计算sinx近似值,《Matlab与数学实验》期末作业

    <Matlab与数学实验>期末作业 深圳大学考试答题纸 (以论文.报告等形式考核专用) 二○一 四 -二○一 五 学年度第 一 学期 课程编号 1601600001 学 号 2013800 ...

最新文章

  1. 限制TensorFlow只在CPU上运行的方法
  2. 风格化图像_【技术综述】人脸风格化核心技术与数据集总结
  3. 大连公交客运集团认真安排做好2007年防台防汛准备工作
  4. 【渝粤题库】国家开放大学2021春1121健康教育与健康促进题目
  5. 为什么0.1无法被二进制小数精确表示?
  6. 查询php 输出表格,php输出excel表格数据-PHP如何将查询出来的数据导出成excel表格(最好做......
  7. win8好用吗_小编告诉你win8好用吗?你有用过吗
  8. PostgreSQL备份之omniPITR
  9. OpenShift 4 - Pod 优先级
  10. java返回空集合对象_返回null或空集合更好吗?
  11. 官方版sublime Text3汉化和激活注册码
  12. one hot 编码的实现
  13. 伪元素::selection -- CSS ::selection 伪元素,定义用户鼠标已选择内容的样式
  14. python爬虫实现下载酷我里面周杰伦的付费歌曲
  15. jquery audio在微信或者客户端需要点击两次才能正常播放的问题解决方案
  16. 《数据库原理》——知识点总结(期末复习)
  17. RocketDock不能开机正常启动的解决方法
  18. Python 新手入门引导。
  19. Android开源库项目集锦
  20. 只网签没备案 房管局能查到吗_如何查询已网签且未备案的房产

热门文章

  1. 【深度学习与tensorflow2.0实战】(网易云课堂)13-GAN
  2. python小游戏 推箱子小游戏设计与实现
  3. 三种Cross-lingual模型 (XLM, XLM-R, mBART)详解
  4. 技术界25位最出类拔萃单身男女-女性占一半
  5. 80后程序员降薪6K,预感中年危机来袭,准备跳槽却碰壁
  6. 【数据可视化】项目分布地图设计之显示省份地图
  7. 【C语言习题】将十进制的小数部分转base进制
  8. 2022电工(初级)考试题模拟考试题库及模拟考试
  9. Qt错误:Error while building/deploying project
  10. 好用的php运行工具