Post by Robert WaÅkowskiJak skonstruować taki przykładowy wielokąt z tych dostępnych danych?
https://ibb.co/pKygYH7
Kąty pomiędzy krótkimi odcinkami są równe jak i one.
Robert
Kąt środkowy alfa, na którym oparty jest bok 300, musi być równy sześciu środkowym kątom, na których bok 60.7 jest oparty.
Mamy zatem dwa równania na promień koła R:
R=(300/2)/sin(alfa)
R=(60.7/2)/sin(alfa/6)
Po ich przyrównanu, otrzymujemy równanie (uwikłane) na kąt alfa.
sin(alfa/6)=sin(alfa)*60.7/300
Można je rozwiązać iteracyjnie tym równaniem:
alfa(i+1)=6*arcsin(sin(alfa(i))*60.7/300)
Programy komputerowe typu Python nas rozpieszczają i 100 iteracji nie jest problemem.
Zastartowałem od alfa(1)=0.01, bo dla zera mamy zapętlenie.
Po wyliczeniu kąta alfa obliczamy promień R okręgu:
R=(300/2)/sin(alfa)
Program w języku Python
=======================================
import math
alfa1=0.01
for i in range(1,100) :
alfa=6*math.asin(math.sin(alfa1)*60.7/300)
alfa1=alfa
print('alfa=',alfa,'rad')
print('alfa=',alfa*180/math.pi,'deg')
print('R=',300/(2*math.sin(alfa)))
========================================
Wydruk:
alfa= 1.0714523980563655 rad
alfa= 61.389700357800834 deg
R= 170.862886333473