Прямая задана двумя точками  | 
             
          | 
       
      
      
        |   | 
       
      
        Отношение предназначено для построения Прямой по  двум заданным точкам: Точке 1 и Точке 2. 
               
              В  качестве точек допустимо использовать как собственные, так и несобственные  точки плоскости. В том случае, если обе заданные точки – несобственные,  образуется несобственная прямая. 
 
Ориентация прямой задается в направлении от первой ко второй точке. 
 
По умолчанию линии присваивается атрибут ограниченной линии (отрезок), который  можно изменить в панели Атрибуты. Точка1 и Точка2 заносятся в список точек, инцидентных данной прямой.  
 
 
В том случае, если в окне реализации алгоритма последовательно выделены  несколько точек, то их можно соединить отрезками прямых, нажав клавишу O  (лат.). 
 
Кроме того, последовательность отрезков,  определенную на прямой линии, можно получить, если выделить прямую линию и  нажать клавишу O (лат.). В этом случае в алгоритм будут введены отрезки прямой,  определенные на множестве инцидентных с прямой точек, упорядоченных в порядке  возрастания величины параметра принадлежности точек несущей прямой линии.  Допускается единовременное выделение множества разноименных прямых. 
 
          Если тип объекта, указанного в любом из входных параметров, оказывается несовместимым с типом этого параметра, то при установленном флажке NIL в выходной параметр заносится значение NIL-объекта. 
          | 
         | 
       
      
        |   | 
       
      
        |   | 
       
      
         | 
       
      
        |   | 
       
      
        |   | 
       
      
      
        
          
             | 
            Параметры  | 
            Типы объектов  | 
            Функциональное назначение 
                параметров  | 
           
          
             | 
            Прямая  | 
            Прямая  | 
            Строящаяся прямая  | 
           
          
             | 
            Точка 1  | 
            Точка  | 
            Первая точка, через которую проводится  прямая  | 
           
          
             | 
            Точка 2  | 
            Точка  | 
            Вторая точка, через которую проводится  прямая  | 
           
          | 
       
      
        |   | 
       
      
        Прототип команды:            O0 Согласование Прямая ; Точка_1 Точка_2 .  
          | 
       
      
        |   | 
         
      
        Пример 1: 
               
        Провести отрезок прямой через две точки p1 и p2.
           
          
          
            
              Алгоритм "Главный"  | 
             
            
              
                
                  1  | 
                   | 
                  Точка   p1  задана координатами   -144  и   -52 .  | 
                 
                
                  2  | 
                   | 
                  Точка   p2  задана координатами   96  и   45 .  | 
                 
                
                  3  | 
                   | 
                  Прямая   o1  задана точками   p1  и   p2 .  | 
                 
                | 
             
           
            
            
          Пример 2: 
             
            Провести  прямую линию через две точки p1 и p2, одна из которых несобственная.
   
  
  
    
      Алгоритм "Главный"  | 
     
    
      
        
          1  | 
           | 
          Точка   p1  задана координатами   -137  и   -29 .  | 
         
        
          2  | 
           | 
          Несобственная точка   p2  задана направлением   24.11 .  | 
         
        
          3  | 
           | 
          Прямая   o1  задана точками   p1  и   p2 .  | 
         
        | 
     
   
   
      
    
           
          | 
         
      
        |   | 
       
      
           | 
       
      
        |   | 
       
      
         | 
       
      
        |   | 
       
      
         | 
       
      
        |   | 
       
      
         | 
       
      
        |   | 
       
      
        
          
              | 
            entity ExecO0 is 
                   port (P1,P2: in TOPoint; O: out TOLine); 
              end entity; 
              architecture ExecO0 of ExecO0 is 
                begin 
       O.X1<=P1.X; 
       O.Y1<=P1.Y; 
       O.X2<=P2.X; 
       O.Y2<=P2.Y; 
                end;  | 
           
          | 
       
      
        |   | 
       
      
      
      
      |