Generate data for circle
2 mins read ·
Generate data points for circle using Vanilla JS.
create post
Using CLI create a new post
$ hugo new content tests/generate-data-for-circle.md
Content "D:\\blank\\content\\tests\\generate-data-for-circle.md" created
or simply copy and past older post, then modify its content.
js code
import math
def circlePoints(xc, yc, R, N):
M = round(360 / N);
xx = []
yy = []
for i in range(N):
q = i * (math.pi / 180) * M
x = xc + R * math.cos(q)
y = yc + R * math.sin(q)
xx.append(x)
yy.append(y)
return [xx, yy]
N1 = 20
[x1, y1] = circlePoints(3, 3, 2, N1)
for i in range(N1):
print(
f'{x1[i]:.3f}',
f'{y1[i]:.3f}',
sep=','
)
print()
N2 = 30
[x2, y2] = circlePoints(9, 3, 3, N2)
for i in range(N2):
print(
f'{x2[i]:.3f}',
f'{y2[i]:.3f}',
sep=','
)
print()
N3 = 10
[x3, y3] = circlePoints(8, 2, 1, N3)
for i in range(N3):
print(
f'{x3[i]:.3f}',
f'{y3[i]:.3f}',
sep=','
)
url https://onecompiler.com/python/3zz6tddvh
output
Two adjacent datablocks are separated with one blank line.
5.000,3.000
4.902,3.618
4.618,4.176
4.176,4.618
3.618,4.902
3.000,5.000
2.382,4.902
1.824,4.618
1.382,4.176
1.098,3.618
1.000,3.000
1.098,2.382
1.382,1.824
1.824,1.382
2.382,1.098
3.000,1.000
3.618,1.098
4.176,1.382
4.618,1.824
4.902,2.382
12.000,3.000
11.934,3.624
11.741,4.220
11.427,4.763
11.007,5.229
10.500,5.598
9.927,5.853
9.314,5.984
8.686,5.984
8.073,5.853
7.500,5.598
6.993,5.229
6.573,4.763
6.259,4.220
6.066,3.624
6.000,3.000
6.066,2.376
6.259,1.780
6.573,1.237
6.993,0.771
7.500,0.402
8.073,0.147
8.686,0.016
9.314,0.016
9.927,0.147
10.500,0.402
11.007,0.771
11.427,1.237
11.741,1.780
11.934,2.376
9.000,2.000
8.809,2.588
8.309,2.951
7.691,2.951
7.191,2.588
7.000,2.000
7.191,1.412
7.691,1.049
8.309,1.049
8.809,1.412
This output will be used in designing ang testing a shortcode scatter.html
.