  MP3.3,    MP2.2   .

 ,      .

:
function ToPoint(x,y,z) 
                                        ( point)   x,y,z
Procedure procedure SetCamPoint(p:point);
 
                                        
procedure SetCamTarget(p:point);



                                          p;

function PointToScreen(p:point):screenPoint;
                                         



 :
var sp:screenPoint;
...
SetCamPoint(ToPoint(10,10,0));
SetCamTerget(ToPoint(0,0,0));
...
sp:=pointToScreen(ToPoint(1,1,1));
...
if sp.visible then
    plot(sp.x,sp.y);



  -  .   PointToScreen
. visible=true      . (  )
,         . (   x,y  -10  700)
 ScreenPoint=record
    x,y:integer;
    visible:boolean;
    end;


   
  -   3 ,
           
    
point=record
    x,y,z:real;
    end;

    

IntPoint=ScreenPoint;
  
- :     screenPoint    :( ,
      IntPoint  




  
 , 

function ToPoint(x,y,z:real):point;

// 

function Scalar(p1,p2:point):real;

//  

function Plus(p1,p2:point):point;

//  

function Minus(p1,p2:point):point;

//   

function KN(n:real;p:point):point;

//  

function VectorLen(p:point):real;

// a

function VectorSQR(p:point):real;

//    L

function VectorToLen(p:point;L:real):point;




//  
    -pi  pi

function AngleToPI(b:real):real;

// true      -pi  pi;

function AngleInPi(a:real):boolean;




//A  A
   

function PointToScreen(p:point):screenPoint;
    p

procedure SetCamPoint(p:point);
//
  

function GetCamPoint:point;

//      "p"      
 
 Procedure MoveCamPoint(p:point);

//  c     
 x:-, y:-, z:-

Procedure MoveCam(p:point);

//     p;

procedure SetCamTarget(p:point);




//
  =1   45        1 .
-     200-400,    

 
function GetScale:real;

// 

procedure SetScale(r:real);

//   

procedure ScaleMul(a:real);




//   (hor - ,   , Vert -  )
      

function GetHor:real;

//    

procedure SetHor(a:real);

//     ""

procedure AddHor(a:real);


//      

function GetVert:real;

//    

procedure SetVert(a:real);

//     ""

procedure AddVert(a:real);)






















