python 生成邻接矩阵怎样生成一个随机矩阵

Python有一随机函数可以产生[0,1)区间内的随机数,基于此函数生成随机分布在任意三角形内的点
由数学知识得知:
几何体的向量表达形式
推广到高维
三维平面:
注释,v这个向量表示的是在图形上的点的坐标,根据数学知识得知,直线和三维平面内的v构成的点集是放射集,而线段则是凸集, 其余向量是不在同一个点或者同一个平面的点的坐标构成的列向量
那么针对三角形可以写成如下:
我们可以先生成随机的贝塔,然后随机生成阿尔法,然后处理阿尔法,使得点是随机落在三角形内的,这里用的是开始生成的随机数的算术平方根作为阿尔法数值,关于为什么这样可以参考
现附代码如下:
import numpy as np
import matplotlib.pyplot as plt
if __name__ == '__main__':
x1, y1 = 0, 30
x3, y3 = 200, -10
x2, y2 = 100, 200
sample_size = 500
theta = np.arange(0,1,0.001)
x = theta * x1 + (1 - theta) * x2
y = theta * y1 + (1 - theta) * y2
plt.plot(x,y,'g--',linewidth=2)
x = theta * x1 + (1 - theta) * x3
y = theta * y1 + (1 - theta) * y3
plt.plot(x, y, 'g--', linewidth=2)
x = theta * x2 + (1 - theta) * x3
y = theta * y2 + (1 - theta) * y3
plt.plot(x, y, 'g--', linewidth=2)
rnd1 = np.random.random(size = sample_size)
rnd2 = np.random.random(size=sample_size)
rnd2 = np.sqrt(rnd2)
x = rnd2 * (rnd1 * x1 + (1 - rnd1) * x2) + (1 - rnd2) * x3
y = rnd2 * (rnd1 * y1 + (1 - rnd1) * y2) + (1 - rnd2) * y3
plt.plot(x,y,'ro')
plt.grid(True)
# plt.savefig('demo.png')
plt.show()
作为推广,其实多个多边形也是可以这样生成的,只需要分割为多个三角形,根据三角形面积比例,控制样本比例即可
本文已收录于以下专栏:
相关文章推荐
在学习生活中,我们经常性的发现有很多事物背后都有某种规律,而且,这种规律可能符合某种随机分布,比如:正态分布、对数正态分布、beta分布等等。
所以,了解某种分布对一些事物有更加深入的理解并能清楚的阐...
新页面(new page)介绍了将样条曲线添加到此技术的内容。也可以访问多边形内最短路径页(shortest-path-through-polygonpage)!
图1显示了一个具...
关于射线法可以参考下面这个blog ,写得非常详细:/mazhenyu/p/3800638.html
下面是我用python 实现的代码:
在半径为1的圆中随机选取一点
假设圆心所在位置为坐标元点(0, 0)。
在x轴[-1, 1],y轴[-1, 1]的正方形内随机选取一...
Python随机生成均匀分布在单位圆内的点
Ⅰ 数字高程模型(DEM)
地球表面高低起伏,呈现一种连续变化的曲面,这种曲面无法用平面地图来确切表示。于是我们就利用一种全新的数字地球表面的方法—— 数字高程模型 的方法,这种方法...
【摘要】本文探讨了以平面散点集逐点插入的Delaunay三角化方法为基础,在三角化过程中采用一定策略,将其改进成为一种简单高效的方法。该方法能够适应各种边界,包括多岛、多连通域等复杂情况,能够生成贴体...
0014算法笔记——【动态规划】凸多边形最优三角剖分
分类: 算法
20:10 612人阅读 评论(0) 收藏 举报
三角剖分凸多边形最优解动态规划算法笔记
一、相关定义
【定义】三角剖分:假设V是二维实数域上的有限点集,边e是由点集中的点作为端点构成的封闭线段, E为e的集合。那么该点集V的一个三角剖分T=(V,E)是一个平面图G,该平面图满足条件:
机器学习中,决策树是一个预测模型;他代表的是对象属性与对象值之间的一种映射关系。树中每个节点表示某个对象,而每个分叉路径则代表的某个可能的属性值,而每个叶结点则对应从根节点到该叶节...
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)2013年10月 其他开发语言大版内专家分月排行榜第二2012年2月 其他开发语言大版内专家分月排行榜第二
2013年11月 其他开发语言大版内专家分月排行榜第三2012年4月 其他开发语言大版内专家分月排行榜第三2011年6月 其他开发语言大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
白手起家, 积分 14, 距离下一级还需 186 积分
论坛徽章:0
比如要生成0-1000之间的一个随机数?应该怎么办
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
白手起家, 积分 69, 距离下一级还需 131 积分
论坛徽章:0
import random
a=random.randrange(0,1001)
白手起家, 积分 22, 距离下一级还需 178 积分
论坛徽章:0
import random
print random.randint(0,1000)
家境小康, 积分 1156, 距离下一级还需 844 积分
论坛徽章:0
import random
random.random()
腰缠万贯, 积分 9015, 距离下一级还需 985 积分
论坛徽章:0
import random
白手起家, 积分 166, 距离下一级还需 34 积分
论坛徽章:0
random.randint(0,1000)python同时生成多个不同的随机数怎么搞?_python吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:147,389贴子:
python同时生成多个不同的随机数怎么搞?收藏
用random.chioce可以在一个列表中选择随机数,怎么同时选择两个或多个不同的随机数?
达内python培训,0基础入学,python课程免费试听;python金牌讲师授课,企业项目实战!python培训就选达内,美国上市公司;毕业推荐就业,7万家合作企业.培训就选大机构!
random.sample(sequence,k)
希望你能多读文档多google search
登录百度帐号推荐应用

我要回帖

更多关于 python 生成单位矩阵 的文章

 

随机推荐