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