REM C121
OPTION ANGLE DEGREES
GOTO 8105
8100 INPUT u1,v1,b1
INPUT u2,v2,b2
INPUT w3
8105
REM 形状
LET u1=0
LET v1=-20
LET b1=45
LET u2=20
LET v2=0
LET b2=135
LET w3=10*SQR(2)
IF ABS (b1-b2)<0.00001 THEN STOP !例外あり、要注意
IF b1>b2 THEN LET CP$="C121"!GOTO 8110
LET CP$="C131"!GOTO 8112
8110 REM CP$="C121"
LET uu1=u1+w3*COS(b1-90)
LET vv1=v1+w3*SIN(b1-90)
LET bb1=b1
LET uu2=u2+w3*COS(b2-90)
LET vv2=v2+w3*SIN(b2-90)
LET bb2=b2
GOTO 8114
8112 REM CP$="C131"
LET uu1=u1+w3*COS(b1+90)
LET vv1=v1+w3*SIN(b1+90)
LET bb1=b1
LET uu2=u2+w3*COS(b2+90)
LET vv2=v2+w3*SIN(b2+90)
LET bb2=b2
8114 IF ABS(SIN(bb1))>0.9999 AND SIN((bb2))>0.9999 THEN STOP
IF ABS(SIN(bb1))>0.9999 THEN GOTO 8120
IF ABS(SIN(bb2))>0.9999 THEN GOTO 8130
LET uu3=(vv2-vv1)/(TAN(bb1)-TAN(bb2))-(uu1*TAN(bb1)-uu2*TAN(bb2))
LET vv3=(uu3-uu1)*TAN(bb1)+vv1
GOTO 8150
8120 LET uu3=uu1
LET vv3=(uu3-uu2)*TAN(bb2)+vv2
GOTO 8150
8130 LET uu3=uu2
LET vv3=(uu3-uu1)*TAN(bb1)+vv1
GOTO 8150
8150 LET u3=uu3
LET v3=vv3
8160 IF CP$="C121"THEN GOTO 8162 ELSE GOTO 8164
8162 LET b4=b1+90
LET b5=b2+90
GOTO 8180
8164 LET b4=b1-90
LET b5=b2-90
8180 LET u3=uu3
LET v3=vv3
LET u4=u3+w3*COS(b4)
LET v4=v3+w3*SIN(b4)
LET u5=u3+w3*COS(b5)
LET v5=v3+w3*SIN(b5)
PRINT uu1,vv1
PRINT uu2,vv2
PRINT u3,v3,w3
PRINT u4,v4,b4
PRINT u5,v5,b5
GOTO 8100
END
8100 INPUT u1,v1,b1
INPUT u2,v2,b2
INPUT w3
8105
REM 形状
LET u1=0
LET v1=-20
LET b1=45
LET u2=20
LET v2=0
LET b2=135
LET w3=10*SQR(2)
IF ABS (b1-b2)<0.00001 THEN STOP !例外あり、要注意
IF b1>b2 THEN LET CP$="C121"!GOTO 8110
LET CP$="C131"!GOTO 8112
8110 REM CP$="C121"
LET uu1=u1+w3*COS(b1-90)
LET vv1=v1+w3*SIN(b1-90)
LET bb1=b1
LET uu2=u2+w3*COS(b2-90)
LET vv2=v2+w3*SIN(b2-90)
LET bb2=b2
GOTO 8114
8112 REM CP$="C131"
LET uu1=u1+w3*COS(b1+90)
LET vv1=v1+w3*SIN(b1+90)
LET bb1=b1
LET uu2=u2+w3*COS(b2+90)
LET vv2=v2+w3*SIN(b2+90)
LET bb2=b2
8114 IF ABS(SIN(bb1))>0.9999 AND SIN((bb2))>0.9999 THEN STOP
IF ABS(SIN(bb1))>0.9999 THEN GOTO 8120
IF ABS(SIN(bb2))>0.9999 THEN GOTO 8130
LET uu3=(vv2-vv1)/(TAN(bb1)-TAN(bb2))-(uu1*TAN(bb1)-uu2*TAN(bb2))
LET vv3=(uu3-uu1)*TAN(bb1)+vv1
GOTO 8150
8120 LET uu3=uu1
LET vv3=(uu3-uu2)*TAN(bb2)+vv2
GOTO 8150
8130 LET uu3=uu2
LET vv3=(uu3-uu1)*TAN(bb1)+vv1
GOTO 8150
8150 LET u3=uu3
LET v3=vv3
8160 IF CP$="C121"THEN GOTO 8162 ELSE GOTO 8164
8162 LET b4=b1+90
LET b5=b2+90
GOTO 8180
8164 LET b4=b1-90
LET b5=b2-90
8180 LET u3=uu3
LET v3=vv3
LET u4=u3+w3*COS(b4)
LET v4=v3+w3*SIN(b4)
LET u5=u3+w3*COS(b5)
LET v5=v3+w3*SIN(b5)
PRINT uu1,vv1
PRINT uu2,vv2
PRINT u3,v3,w3
PRINT u4,v4,b4
PRINT u5,v5,b5
GOTO 8100
END
コメント