DEFINITION MODULE GRAPH3;
PROCEDURE ARC(CX,CY,R:INTEGER;TH1,TH2:REAL3);
PROCEDURE EARC(CX,CY,RX,RY:INTEGER;TH1,TH2:REAL3);
END GRAPH3.
IMPLEMENTATION MODULE GRAPH3;
FROM R3MATH IMPORT SIN,COS;
FROM GRAPH2 IMPORT ARC0,EARC0;
PROCEDURE ARC(CX,CY,R:INTEGER;TH1,TH2:REAL3);
VAR R3:REAL3;
BEGIN
R3:=RL3(R);
ARC0(INT(R3*COS(TH2)),INT(R3*SIN(TH2)),
     INT(RL3(8192)*(TH2-TH1)),
     INT(R3*COS(TH1)),INT(R3*SIN(TH1)),
     CX,CY,R,0)
END ARC;
 
PROCEDURE EARC(CX,CY,RX,RY:INTEGER;TH1,TH2:REAL3);
VAR RX3,RY3:REAL3;
BEGIN
RX3:=RL3(RX);RY3:=RL3(RY);
EARC0(INT(RX3*COS(TH2)),INT(RY3*SIN(TH2)),
     INT(RL3(8192)*(TH2-TH1)),
     INT(RX3*COS(TH1)),INT(RY3*SIN(TH1)),
     CX,CY,RX,RY)
END EARC;

END GRAPH3.
