找回密码
 点一下
查看: 1313|回复: 6

求教,,如何指定在圆内的随机点??

[复制链接]
发表于 2010-1-16 00:55:52 | 显示全部楼层 |阅读模式
本人是菜鸟,只看到有矩形内的随机点。请问如果要在圆内如何实现。
发表于 2010-1-16 01:52:18 | 显示全部楼层
判断点的x坐标平方加y坐标平方,他们之和的根是否小于等于半径。小于在圆内,等于在圆上,大于在圆外。
回复

使用道具 举报

发表于 2010-1-16 04:17:30 | 显示全部楼层
如果已知圆心(x,y)和半径R
你可以先在极坐标上随机

角度theta = GetRandomReal(0,2*bj_PI)
取0到2派上的随机角度
极径?是这样叫么?r = SquareRoot(GetRandomReal(0,Pow(R,2)))
给R平方再开方是为了让随机点均匀,如果直接取0到R随机,圆心处会很密。

然后转化到直角系,Py = y + r * sin(theta),Px = x + r * cos(theta),
(Px,Py)就是随机点的坐标,=w=,比小A好在不需要判断。
回复

使用道具 举报

发表于 2010-1-16 06:38:54 | 显示全部楼层
……………………
触发里有极坐标这个动作的吧…………
Set Loc = <圆心> offset by <半径> towards (Random real number between 0.00 and 360.00) degrees)
这样就行了。
回复

使用道具 举报

发表于 2010-1-16 12:09:56 | 显示全部楼层
不许用数学欺负我!
回复

使用道具 举报

 楼主| 发表于 2010-1-16 12:27:06 | 显示全部楼层
谢谢各位了
回复

使用道具 举报

发表于 2010-1-16 15:54:40 | 显示全部楼层

回 3楼(血戮魔动冰) 的帖子

这样啊~~~ 又吐糟了~~~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-11-26 01:53 , Processed in 0.060040 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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