RandSquare/s02200176
RandSquare/timofeevsy
t1from random import randomt1from random import random
2from math import sqrt2from math import sqrt
33
44
5def randsquare(A, B):5def randsquare(A, B):
6    O = ((A[0] + B[0])/2, (A[1] + B[1])/2)6    O = ((A[0] + B[0])/2, (A[1] + B[1])/2)
77
8    diag = (A[0] - B[0], A[1] - B[1])8    diag = (A[0] - B[0], A[1] - B[1])
9    diag_len = sqrt(diag[0]**2 + diag[1]**2)9    diag_len = sqrt(diag[0]**2 + diag[1]**2)
1010
11    diag = (diag[0]/diag_len, diag[1] / diag_len)11    diag = (diag[0]/diag_len, diag[1] / diag_len)
12    diag = (-diag[1], diag[0])12    diag = (-diag[1], diag[0])
13    diag_len /= 213    diag_len /= 2
1414
15    C = (O[0] + diag[0] * diag_len, O[1] + diag[1] * diag_len)15    C = (O[0] + diag[0] * diag_len, O[1] + diag[1] * diag_len)
1616
17    u, v = random(), random()17    u, v = random(), random()
18    x = C[0] + u * (A[0] - C[0]) + v * (B[0] - C[0])18    x = C[0] + u * (A[0] - C[0]) + v * (B[0] - C[0])
19    y = C[1] + u * (A[1] - C[1]) + v * (B[1] - C[1])19    y = C[1] + u * (A[1] - C[1]) + v * (B[1] - C[1])
2020
21    return x, y21    return x, y
2222
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op