ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: aoe1981

[已解决] 出个题:如何利用散点图,产生大量的随机点,使其落入给定多边形内?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2014-10-25 16:53 | 显示全部楼层
本帖最后由 lee1892 于 2014-10-25 17:12 编辑
aoe1981 发表于 2014-10-10 22:33
看来,我这是舍近求远了……自个给自个下了一个套……
不过,复习了许多关于多边形以及平面向量的知识… ...

解析几何没学好吧。

极坐标的方法:任取一点以此点作为新坐标系的原点,对所有顶点和交点求角度和距离,获得一套参数,角度范围和某个角度范围内的距原点距离的范围(可能不连续),使得这个范围内的点在图形内部。

所谓随机点,即先随机取角度,再根据角度取半径。
直角坐标的方法:确定图形的X值范围,根据图形的顶点信息,获得某一X值区间内Y值的范围。

为避免判断原坐标系原点是否在图形内部,可选取图形外一点作为原点。

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-10-25 21:00 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
lee1892 发表于 2014-10-25 16:53
解析几何没学好吧。

极坐标的方法:任取一点以此点作为新坐标系的原点,对所有顶点和交点求角度和距离 ...

能得到您的点拨很荣幸,确实,现在才有种感觉:数学知识与计算机结合后才会理解得牢靠!

点评

几十年前计算机图形学刚发展的时候,多边形的颜色填充就作为一个经典案例了。  发表于 2015-7-28 09:40

TA的精华主题

TA的得分主题

发表于 2014-11-5 12:12 | 显示全部楼层
aoe1981 发表于 2014-10-25 21:00
能得到您的点拨很荣幸,确实,现在才有种感觉:数学知识与计算机结合后才会理解得牢靠!

对于前后相连的线段围合成的图形,如何找出其轮廓外框:
  1. Type VERTEX
  2.     X As Double
  3.     Y As Double
  4.     PntInds() As Long ' 邻接点的编号
  5. End Type
  6. Dim arrPoints() As VERTEX
  7. Dim arrOutlinePnts() As VERTEX
  8. Sub Inital()
  9. ' 读入数据,创建 arrPoints
  10. End Sub
  11. Sub AddIntersections()
  12. ' 计算交点,添加到 arrPoints 里
  13. End Sub
  14. Sub FindOutline()
  15.     起点编号 = X 最大的点中 Y 最大的点 的编号
  16.     点编号 = 起点编号
  17.     角度 = 0
  18.     Do
  19.         For Each 邻接点编号 In arrPoints(点编号).PntInds
  20.             邻接角度 = 邻接点至该点的角度 ' 取值范围 [0,2*Pi)
  21.             找出邻接角度 - 角度 值最小的点,多个点则选距离最近的
  22.         Next
  23.         角度 = 邻接角度
  24.         点编号 = 找出的点的编号
  25.         添加该点到 arrOutlinePnts
  26.         If 点编号 = 起点编号 Then Exit Do
  27.     Loop
  28. End Sub
复制代码
这样你就不用担心线段是否相交了。
然后把轮廓线顶点按 X 值排序,总的 X 值取值范围就有了。
对每一小段的 X 值,再由过该段两端 X 值的垂线和轮廓线的相交请况,可以确定 Y 值的取值范围。

要想均匀的取得随机点,每一小段 X 值的概率,为该 X 值段对应的轮廓线内面积和总面积的比值,对应的 Y 值的概率也是类似的面积比。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2015-6-1 14:57 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2015-6-15 11:53 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
谢谢分享!

TA的精华主题

TA的得分主题

发表于 2017-6-19 15:40 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
aoe1981 发表于 2014-10-5 16:08
  当然,最好的设想是:不管是凸多边形、凹多边形还是交织多边形(最后一个是我起的名字,不知是否准确) ...

请问,修改工作簿的密码是什么呢

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-12-8 20:30 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
Grand李 发表于 2017-6-19 15:40
请问,修改工作簿的密码是什么呢

修改工作簿的密码是:123。

TA的精华主题

TA的得分主题

发表于 2018-5-16 22:41 | 显示全部楼层
aoe1981 发表于 2014-10-10 20:28
  上一个正式版1.0的附件:
  

VBA求助!
http://club.excelhome.net/thread-1414063-1-1.html
(出处: ExcelHome技术论坛)
这个问题和你的有点类似!求解答!

TA的精华主题

TA的得分主题

发表于 2018-5-20 23:06 | 显示全部楼层
你好,想问一下你最新上传的附件里排除了随机点与定点纵坐标或者横坐标相同的情况,那么如何增加上这种情况呢?

TA的精华主题

TA的得分主题

发表于 2018-9-29 20:36 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-19 14:15 , Processed in 0.043560 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表