MATLAB 随机生成互不重叠的多个矩形

建立m文件draw_rectangle.m.

其中p生成矩形的个数

function  draw_rectangle(p)

t = 1;
x = rand(1)*10;
y = rand(1)*10;
w = rand(1)*10;
h = rand(1)*10;
b =[x y w h];
rectangle(‘Position‘, b)
a{t} =b;

flag =1;
while flag ==1
    x = rand(1)*10;
    y = rand(1)*10;
    w = rand(1)*10;
    h = rand(1)*10;
    b =[x y w h];
    num = 0;
     for j = 1:t
          if ~rectint(b,a{j})
              num = num +1;
          end
     end
     if num == t
         hold on;
         rectangle(‘Position‘, b)
         t = t+1;
         a{t} =b;
     end
     if t == p
         break
     end
end

% t = 1;
% flag =1
%
% while flag ==1
%     for i =1:p
%         x = rand(1)*10;
%         y = rand(1)*10;
%         w = rand(1)*10;
%         h = rand(1)*10;
%         b =[x y w h];
% %         rectangle(‘Position‘, b)
%         a{i} =b;
%     end
%     num = 0;
%     for i = 1:(p-1)
%         for j =(i+1) :p
%             if rectint(a{i},a{j})
%                 break
%             else
%                 num = num +1;
%             end
%         end
%     end
%
%     if num == (p-1)*p/2
%         for i = 1:p
%             rectangle(‘Position‘, a{i})
%         end
%         flag = 0;
%     end
% end

  

时间: 2024-11-03 01:17:00

MATLAB 随机生成互不重叠的多个矩形的相关文章

matlab随机生成n个单位方向

用matlab随机生成n个单位方向: n=10; K2=2*n; D = randn(n, K2);% 生成符合标准正态分布的n行,K2列矩阵 D = D*diag(1./sqrt(sum(D.*D)))% 将矩阵每一列单位化 原文地址:https://www.cnblogs.com/nuansexiaozhu/p/12143488.html

PIL模块与随机生成中文验证码

今天我们要学习的内容是如何利用Python生成一个随机的中文验证码,并将图片保存为.jpeg格式. 在这之前,你首先得了解Python中的PIL库.PIL是Python Imaging Library的简称,PIL是一个Python处理 图片的库,提供了一系列模块和方法,比如:裁切,平移,旋转,改变尺寸等等.在PIL库中,任何一个图像都是用 Image对象来表示的,所以要加载一张图片,最简单的形式如下: from PIL import Image image = Image.open("1.jp

Python PIL模块随机生成中文验证码

PIL是Python Imaging Library的简称,PIL是一个Python处理图片的库,提供了一系列模块和方法,比如:裁切,平移,旋转,改变尺寸等等.已经是Python平台事实上的图像处理标准库了.PIL功能非常强大,但API却非常简单易用. PIL有如下几个模块:Image模块.ImageChops模块.ImageCrackCode模块.ImageDraw模块.ImageEnhance模块.ImageFile模块.ImageFileIO模块.ImageFilter模块.ImageFo

判断随机生成的四则运算结果

功能:1.随机生成一个四则运算 2.用户输入式子结果后判断是否正确(结果取整) #include<stdio.h> #include<string.h> #include<stdlib.h> #include<stack> using namespace std; int n,t,n1; struct ZX { char a; bool b;//if b=0 括号 if b=1 数字 } ; stack<ZX>s1; void atersz(ZX

js选择颜色小游戏(随机生成不含重复数字的数组,通过数组中的数控制定义好的数组)

<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>js网页版小游戏</title> <style media="screen"> .wrap { width: 577px; outline: 1px solid hotpink; margin: 100px auto; box-shadow: 0 0 5px; } .

python随机生成6位数验证码

#随机生成6位数验证码 import randomcode = []for i in range(6):    if i == str(random.randint(1,5)):        code.append(i)    else:       temp =  random.randint(65,90)       code.append(chr(temp)) print ''.join(code) ###扩充random用法,随机生成树,和程序无关 print random.rando

python内置的一个好玩的函数-zip,并且巧妙的实现按概率随机生成有限个数的字符串。

python有一个比较有意思的内置函数-----zip,可以把传入的两组list进行一个组合变形,再输出子元素为tuple的list,不过变形的方式比较抽象. 举个例子: A=[1,2,3,4,5,6] B=['a','b','c','d'] v1=zip(A,B) v1的结果为: [(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')] 比较直观的理解就是,A和B是两道拉链上的扣子,生成的list的子tuple,每一组tuple就是一对扣好了的扣子,并且从每组list的

Linux下随机生成密码的命令总结

有时候经常为如何设置一个安全.符合密码复杂度的密码而绞尽脑汁,说实话,这实在是一个体力活而且浪费时间,更重要的是设置密码的时候经常纠结.终于有一天实在忍不住了,于是学习.整理了一下如何使用Linux下命令来随机生成安全.符合密码复杂度的命令. 俗话说"工欲善其事必先利其器".如果能用挖土机的,你为什么要用锄头? 最近一直在反思自己:习惯性用原始.老旧的方式解决问题.而不擅长利用一些工具快捷.方便的解决问题. 1:mkpaswd命令 mkpasswd 是Linux自带的一个密码生成工具,

2D地图随机生成

2D地图随机生成基础绘图 海陆分布