python - 在python中获取正方形边缘的随机点
问题描述
问题
给定一个绘图窗口,如何在正方形的周边(绘图窗口的周边)生成随机点?
背景和尝试
我发现了一个关于javascript 中的矩形的类似问题。
我设法编写了一个程序来生成限制内的随机点,但问题是如何找到随机点,条件是它们位于图的边缘(x 等于 5 或 -5,或者 y 等于在这种情况下为 5 或 -5)。
import numpy as np
import matplotlib.pyplot as plt
# Parameters
n = 6 # number of points
a = 5 # upper bound
b = -5 # lower bound
# Random coordinates [b,a) uniform distributed
coordy = (b - a) * np.random.random_sample((n,)) + a # generate random y
coordx = (b - a) * np.random.random_sample((n,)) + a # generate random x
# Create limits (x,y)=((-5,5),(-5,5))
plt.xlim((b,a))
plt.ylim((b,a))
# Plot points
for i in range(n):
plt.plot(coordx[i],coordy[i],'ro')
plt.show()
概括
总而言之,我的问题是如何生成随机坐标,因为它们位于绘图/画布的边缘。任何建议或帮助将不胜感激。
解决方案
一种可能的方法(尽管不是很优雅)如下:划分水平点和垂直点 假设您要在窗口的顶部或底部绘制一个点。然后,
- 随机选择y坐标为b或 - b
- 随机选择(均匀分布)x坐标
窗口左右边缘的类似方法。
希望有帮助。
推荐阅读
- keras - Keras 中嵌入的输入层维度
- java - 当我构建 Docker 映像时,由于 UnsupportedClassVersionError 导致 Gradle 测试失败 - 在本地它工作正常
- css - 在 CSS calc() 中使用百分比作为乘数
- javascript - BS4 响应式倒数计时器
- python - 如何从网站中提取新闻文章的网址?
- python - PDF 上的光学字符识别 (python)
- c# - 使用 JWT 的 Asp Net Core 身份验证
- android - 在 Mainactivity 之外使用 contentResolver 在空对象引用上创建空指针异常 getApplicationContext()
- r - ggplot2/ggh4x facet_nested:当有多个层时如何旋转单层?
- rust - 我无法反序列化 json 字符串以使用 serde 进行结构