<h2>问题:</h2>
<p>给定一个绘图窗口,如何在正方形的周长(绘图窗口的周长)上生成随机点</p>
<h2>背景与尝试</h2>
<p>关于<a href="https://stackoverflow.com/questions/49579960/how-to-get-random-point-near-edges-of-a-square-in-javascript">a rectangle in javascript</a>,我发现了一个类似的问题</p>
<p>我设法编写了一个程序来生成限制范围内的随机点,但问题是如何在随机点位于绘图边缘的条件下找到它们(在这种情况下,x等于5或-5,或者y等于5或-5)</p>
<pre><code>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()
</code></pre>
<p><a href="https://i.stack.imgur.com/aBNMn.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/aBNMn.png" alt="enter image description here"/></a></p>
<h2>总结</h2>
<p>总之,我的问题是如何生成随机坐标,因为它们位于绘图/画布的边缘。任何建议或帮助都将不胜感激</p>