21 lines
582 B
Plaintext
21 lines
582 B
Plaintext
*FLOAT 64
|
|
DIM angles(3)
|
|
angles() = 350,10
|
|
PRINT FNmeanangle(angles(), 2)
|
|
angles() = 90,180,270,360
|
|
PRINT FNmeanangle(angles(), 4)
|
|
angles() = 10,20,30
|
|
PRINT FNmeanangle(angles(), 3)
|
|
END
|
|
|
|
DEF FNmeanangle(angles(), N%)
|
|
LOCAL I%, sumsin, sumcos
|
|
FOR I% = 0 TO N%-1
|
|
sumsin += SINRADangles(I%)
|
|
sumcos += COSRADangles(I%)
|
|
NEXT
|
|
= DEGFNatan2(sumsin, sumcos)
|
|
|
|
DEF FNatan2(y,x) : ON ERROR LOCAL = SGN(y)*PI/2
|
|
IF x>0 THEN = ATN(y/x) ELSE IF y>0 THEN = ATN(y/x)+PI ELSE = ATN(y/x)-PI
|