|
> No.3209[元記事へ]
永野護さんへのお返事です。
> 質問です。任意の五角形があるとします。各辺の和が面積と等しい場合があるでしょうか。
> もしあるならプログラムを作って求めることができるでしょうか。
> よろしくお願いします。
!'これは正多角形の場合です
DIM X(20),Y(20)
OPTION ANGLE DEGREES
FOR N=4 TO 20
LET RMIN=0
LET RMAX=100000
DO
LET R=(RMIN+RMAX)/2
FOR I=1 TO N
LET X(I)=R*COS((I-1)*360/N)
LET Y(I)=R*SIN((I-1)*360/N)
NEXT I
LET RR=SQR((X(2)-X(1))^2+(Y(2)-Y(1))^2)*N !'1辺の長さ*n
LET S=AREA(N,X,Y) !'面積
IF S<RR THEN LET RMIN=R ELSE LET RMAX=R
LOOP UNTIL ABS(RR-S)<1E-6
PRINT N;"角形"
PRINT "半径=";R
FOR I=1 TO N
PRINT "座標 X=";X(I);"Y=";Y(I)
NEXT I
PRINT "面積";S
NEXT N
END
EXTERNAL FUNCTION AREA(N,X(),Y())
LET A=X(N-1)*Y(1)-X(1)*Y(N-1)
FOR I=2 TO N-1
LET A=A+X(I-1)*Y(I)-X(I)*Y(I-1)
NEXT I
LET AREA=ABS(A)/2
END FUNCTION
|
|