热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

matlab圆不圆,matlab生成不相交的若干个圆

有人问的问题:仔细想想,蛮好。问题:一个边长为b方形区域内,随机生成n个半径为r的圆1、如果没有任何限制,则圆

有人问的问题:

仔细想想,蛮好。

问题:

一个边长为b方形区域内,随机生成n个半径为r的圆

1、如果没有任何限制,则圆心坐标任意,代码为b=100;r=1;n=10;

xy_pos=rand(n,2)*(b-r);

2、假如这些圆不能重叠,最多是相切,那么如何得到这些圆的圆心坐标呢?

我的思路:

如果两个圆相交,意味着两个圆心之间的距离在2*r之间。那么就是说,只要判断两两点之间的距离即可。而生成两两点之间的距离。用一个pdist函数可以直接实现。于是问题得解。

具体如图:

0818b9ca8b590ca3270a3433284dd417.png

clear all

clc

clf

n=6;

b=10;

r=1;

X=(b-2*r)*rand(n,2)+r;

D = pdist(X);

while min(D)

X=(b-2*r)*rand(n,2)+r;

D = pdist(X);

end

the=[0:0.1:2*pi];

the=[the,0];

cir_x=r*cos(the);

cir_y=r*sin(the);

plot(X(:,1),X(:,2),'.')

hold on

for i=1:n

plot(X(i,1)+cir_x,X(i,2)+cir_y,'-');

end

axis equal

axis([0 b 0 b])



推荐阅读
  • Python图像处理库概览
    本文详细介绍了Python中常用的图像处理库,包括scikit-image、Numpy、Scipy、Pillow、OpenCV-Python、SimpleCV、Mahotas、SimpleITK、pgmagick和Pycairo,旨在帮助开发者和研究人员选择合适的工具进行图像处理任务。 ... [详细]
  • 本文介绍了如何利用Python的Turtle库来绘制奥运五环。通过设置不同的颜色和位置,能够精确地模拟奥运标志。 ... [详细]
  • Flutter 高德地图插件使用指南
    本文档详细介绍了如何在Flutter项目中集成和使用高德地图插件,包括安装、配置及基本使用方法。 ... [详细]
  • 本文章介绍了如何将阿拉伯数字形式的金额转换为中国传统的大写形式,适用于财务报告和正式文件中的金额表示。 ... [详细]
  • 本文将深入讨论原地排序的定义及其在实际应用中的表现,特别是通过对比非原地排序和原地排序的实现方式来解析这一概念。 ... [详细]
  • 本文详细介绍了如何在Android游戏中实现360°平滑触屏摇杆,包括摇杆的基本设计原理和具体实现步骤。 ... [详细]
  • 我正在从数据库中提取一系列事件,并尝试加载与这些事件相关的所有用户及其个人资料。虽然用户信息能够成功加载,但用户的个人资料信息却未能一同加载。 ... [详细]
  • 本文探讨了如何在Django中创建一个能够根据需求选择不同模板的包含标签。通过自定义逻辑,开发者可以在多个模板选项中灵活切换,以适应不同的显示需求。 ... [详细]
  • 自 Swift 3.0 以来,Grand Central Dispatch (GCD) 的使用方式有了显著的变化,变得更加简洁高效。本文将介绍 GCD 的核心概念,包括队列、同步与异步操作、服务质量 (QoS) 以及常见的使用场景。 ... [详细]
  • 第十代英特尔酷睿H系列处理器发布,i9-10980HK领衔登场
    2020年4月2日,英特尔正式发布了第十代酷睿H系列高性能处理器,专为移动平台设计。此次发布的处理器阵容强大,包括多款i5、i7及顶级i9处理器。 ... [详细]
  • 本文介绍了jQuery的基本使用方法及AJAX技术的基础知识,包括选择器、事件处理、DOM操作、动画效果等核心功能,以及如何利用AJAX实现页面的部分刷新。 ... [详细]
  • Linux双网卡绑定技术详解与实践
    本文详细介绍了如何在Linux系统中实现双网卡绑定,即将两块物理网卡合并为一个逻辑网卡,以提高网络性能和可靠性。文中不仅涵盖了基本的概念,还提供了具体的配置步骤和测试方法。 ... [详细]
  • 本文探讨了如何利用自定义URI方案和注册表编辑,在Windows操作系统中实现从Web浏览器启动本地应用程序的方法,同时强调了这一过程中的安全考虑。 ... [详细]
  • 本文详细探讨了 Java 中状态模式与策略模式的核心差异,旨在帮助开发者在实际应用中准确选择和运用这些设计模式。 ... [详细]
  • Android实战:使用ProgressBar与AsyncTask实现数据异步加载
    本文介绍如何利用ProgressBar和AsyncTask在Android应用中实现数据的异步加载。包括加载数据的不同状态下的UI展示,如加载中、加载成功及加载失败时的界面处理。 ... [详细]
author-avatar
离开一场爱的风雪
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有