OpenMath Content Dictionary: plangeo4 
            
               
                  Canonical URL: 
                
               
                  http://www.openmath.org/cd/plangeo4.ocd 
                
               
                  CD Base: 
                
               
                  http://www.openmath.org/cd 
                
               
                  CD File: 
                
               
                  plangeo4.ocd
       
                
               
                  CD as XML Encoded OpenMath: 
                
               
                  plangeo4.omcd
       
                
               
                  Defines: 
                
               
                  affine_coordinates , coordinates , is_affine , set_affine_coordinates , set_coordinates 
                
               
                  Date: 
                
               2004-06-01 
               
                  Version: 
                
               0
    (Revision 5)
   
               
                  Review Date: 
                
               2006-06-01 
               
                  Status: 
                
               experimental 
             
             
             
This CD defines symbols for planar Euclidean geometry.
In particular, it is concerned with projective and affine coordinates
of points and lines.
             
            
            
               
                  Description: 
                
               
                   
This symbol defines the coordinates of a point or a line.
The coordinates are the projective coordinates and consist of a vector
of length 3. Points whose third coordinates are zero are the points at
infinity.
The line whose first two coordinates are zero is the line at
infinity.
                
             
            
               
                  Formal Mathematical property (FMP): 
                
               
                  
                     OpenMath XML (source) 
                     
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
<OMBIND>
<OMS cd="quant1" name="forall"/>
  <OMBVAR>
    <OMV name="v"/>
  </OMBVAR>
  <OMA>
    <OMS cd="logic1" name="implies"/>
    <OMBIND>
      <OMS cd="quant1" name="exists"/>
      <OMBVAR>
        <OMV name="A"/>
      </OMBVAR>
      <OMA>
        <OMS cd="plangeo4" name="set_coordinates"/>
        <OMV name="A"/>
        <OMV name="v"/>
      </OMA>
    </OMBIND>   
    <OMA>
      <OMS cd="logic1" name="not"/>
      <OMA>
        <OMS cd="logic1" name="and"/>
        <OMA>
          <OMS cd="relation1" name="eq"/>
          <OMA>
            <OMS cd="linalg1" name="vector_selector"/>
            <OMI>1</OMI>
            <OMV name="v"/>
          </OMA>
          <OMS cd="alg1" name="zero"/>
        </OMA>
        <OMA>
          <OMS cd="relation1" name="eq"/>
          <OMA>
            <OMS cd="linalg1" name="vector_selector"/>
            <OMI>2</OMI>
            <OMV name="v"/>
          </OMA>
          <OMS cd="alg1" name="zero"/>
        </OMA>
        <OMA>
          <OMS cd="relation1" name="eq"/>
          <OMA>
            <OMS cd="linalg1" name="vector_selector"/>
            <OMI>3</OMI>
            <OMV name="v"/>
          </OMA>
          <OMS cd="alg1" name="zero"/>
        </OMA>
      </OMA>
    </OMA>
  </OMA>
</OMBIND>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <bind><csymbol cd="quant1">forall</csymbol>
  <bvar><ci>v</ci></bvar>
  <apply><csymbol cd="logic1">implies</csymbol>
   <bind><csymbol cd="quant1">exists</csymbol>
    <bvar><ci>A</ci></bvar>
    <apply><csymbol cd="plangeo4">set_coordinates</csymbol><ci>A</ci><ci>v</ci></apply>
   </bind>
   <apply><csymbol cd="logic1">not</csymbol>
    <apply><csymbol cd="logic1">and</csymbol>
     <apply><csymbol cd="relation1">eq</csymbol>
      <apply><csymbol cd="linalg1">vector_selector</csymbol><cn type="integer">1</cn><ci>v</ci></apply>
      <csymbol cd="alg1">zero</csymbol>
     </apply>
     <apply><csymbol cd="relation1">eq</csymbol>
      <apply><csymbol cd="linalg1">vector_selector</csymbol><cn type="integer">2</cn><ci>v</ci></apply>
      <csymbol cd="alg1">zero</csymbol>
     </apply>
     <apply><csymbol cd="relation1">eq</csymbol>
      <apply><csymbol cd="linalg1">vector_selector</csymbol><cn type="integer">3</cn><ci>v</ci></apply>
      <csymbol cd="alg1">zero</csymbol>
     </apply>
    </apply>
   </apply>
  </apply>
 </bind>
</math> 
                   
                  Prefix 
                  
                     forall 
  [
     
v 
  ] .
  (
implies 
  (
exists 
  [
         
A 
      ] .
  (
set_coordinates 
  ( 
A ,  
v )
)
, 
not 
  (
and 
  (
eq 
  (
vector_selector 
  (1,  
v )
, 
zero )
, 
eq 
  (
vector_selector 
  (2,  
v )
, 
zero )
, 
eq 
  (
vector_selector 
  (3,  
v )
, 
zero )
)
)
)
)
 
                  
                     Popcorn 
                     
quant1.forall[$v -> quant1.exists[$A -> plangeo4.set_coordinates($A, $v)] ==>  not(linalg1.vector_selector(1, $v) = alg1.zero and linalg1.vector_selector(2, $v) = alg1.zero and linalg1.vector_selector(3, $v) = alg1.zero)]
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 ∀ 
                                   
                                 
                                    v 
                                  
                                 . 
                                 
                                    
                                       ∃ 
                                         
                                       
                                          A 
                                        
                                       . 
                                       
                                          set_coordinates 
                                           
                                          
                                             ( 
                                             A 
                                             , 
                                             v 
                                             ) 
                                           
                                        
                                     
                                    ⇒ 
                                    ¬ 
                                    
                                       ( 
                                       
                                          
                                             v 
                                             1 
                                           
                                          = 
                                          0 
                                        
                                       ∧ 
                                       
                                          
                                             v 
                                             2 
                                           
                                          = 
                                          0 
                                        
                                       ∧ 
                                       
                                          
                                             v 
                                             3 
                                           
                                          = 
                                          0 
                                        
                                       ) 
                                     
                                  
                               
                            
                        
                      
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
             
            
             
            
            
               
                  Description: 
                
               
                   
This function yields the coordinates vector if applied to a point or line with
coordinates.
                
             
            
               
                  Formal Mathematical property (FMP): 
                
               
                  
                     OpenMath XML (source) 
                     
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0"> 
<OMA>
  <OMS cd="logic1" name="implies"/>
  <OMA> 
    <OMS cd="logic1" name="and"/>
    <OMA>
     <OMS cd="relation1" name="eq"/>
     <OMV name="v"/>
     <OMA>
       <OMS cd="plangeo4" name="coordinates"/>
       <OMA>
         <OMS cd="plangeo1" name="point"/>
         <OMV name="A"/>
       </OMA>
     </OMA>
    <OMA>
     <OMS cd="relation1" name="eq"/>
     <OMV name="w"/>
     <OMA>
       <OMS cd="plangeo4" name="coordinates"/>
       <OMA>
         <OMS cd="plangeo1" name="line"/>
         <OMV name="L"/>
       </OMA>
     </OMA>
    </OMA>
  </OMA> 
  <OMA>
   <OMS cd="relation1" name="eq"/>
   <OMA>
     <OMS cd="arith1" name="plus"/>
     <OMA>
       <OMS cd="arith1" name="times"/>
       <OMA>
         <OMS cd="linalg1" name="vector_selector"/>
         <OMI>1</OMI>
         <OMV name="v"/>
       </OMA>
       <OMA>
         <OMS cd="linalg1" name="vector_selector"/>
         <OMI>1</OMI>
         <OMV name="w"/>
       </OMA>
     </OMA>
     <OMA>
       <OMS cd="arith1" name="times"/>
       <OMA>
         <OMS cd="linalg1" name="vector_selector"/>
         <OMI>2</OMI>
         <OMV name="v"/>
       </OMA>
       <OMA>
         <OMS cd="linalg1" name="vector_selector"/>
         <OMI>2</OMI>
         <OMV name="w"/>
       </OMA>
     </OMA>
     <OMA>
       <OMS cd="arith1" name="times"/>
       <OMA>
         <OMS cd="linalg1" name="vector_selector"/>
         <OMI>3</OMI>
         <OMV name="v"/>
       </OMA>
       <OMA>
         <OMS cd="linalg1" name="vector_selector"/>
         <OMI>3</OMI>
         <OMV name="w"/>
       </OMA>
     </OMA>
    </OMA>
    <OMS cd="alg1" name="zero"/>
  </OMA>
</OMA>
</OMA>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <apply><csymbol cd="logic1">implies</csymbol>
  <apply><csymbol cd="logic1">and</csymbol>
   <apply><csymbol cd="relation1">eq</csymbol>
    <ci>v</ci>
    <apply><csymbol cd="plangeo4">coordinates</csymbol>
     <apply><csymbol cd="plangeo1">point</csymbol><ci>A</ci></apply>
    </apply>
    <apply><csymbol cd="relation1">eq</csymbol>
     <ci>w</ci>
     <apply><csymbol cd="plangeo4">coordinates</csymbol>
      <apply><csymbol cd="plangeo1">line</csymbol><ci>L</ci></apply>
     </apply>
    </apply>
   </apply>
   <apply><csymbol cd="relation1">eq</csymbol>
    <apply><csymbol cd="arith1">plus</csymbol>
     <apply><csymbol cd="arith1">times</csymbol>
      <apply><csymbol cd="linalg1">vector_selector</csymbol><cn type="integer">1</cn><ci>v</ci></apply>
      <apply><csymbol cd="linalg1">vector_selector</csymbol><cn type="integer">1</cn><ci>w</ci></apply>
     </apply>
     <apply><csymbol cd="arith1">times</csymbol>
      <apply><csymbol cd="linalg1">vector_selector</csymbol><cn type="integer">2</cn><ci>v</ci></apply>
      <apply><csymbol cd="linalg1">vector_selector</csymbol><cn type="integer">2</cn><ci>w</ci></apply>
     </apply>
     <apply><csymbol cd="arith1">times</csymbol>
      <apply><csymbol cd="linalg1">vector_selector</csymbol><cn type="integer">3</cn><ci>v</ci></apply>
      <apply><csymbol cd="linalg1">vector_selector</csymbol><cn type="integer">3</cn><ci>w</ci></apply>
     </apply>
    </apply>
    <csymbol cd="alg1">zero</csymbol>
   </apply>
  </apply>
 </apply>
</math> 
                   
                  Prefix 
                   
                     implies 
  (
and 
  (
eq 
  ( 
v , 
coordinates 
  (
point 
  ( 
A )
)
, 
eq 
  ( 
w , 
coordinates 
  (
line 
  ( 
L )
)
)
)
, 
eq 
  (
plus 
  (
times 
  (
vector_selector 
  (1,  
v )
, 
vector_selector 
  (1,  
w )
)
, 
times 
  (
vector_selector 
  (2,  
v )
, 
vector_selector 
  (2,  
w )
)
, 
times 
  (
vector_selector 
  (3,  
v )
, 
vector_selector 
  (3,  
w )
)
)
, 
zero )
)
)
 
                  
                     Popcorn 
                      
$v = plangeo4.coordinates(plangeo1.point($A)) = $w = plangeo4.coordinates(plangeo1.line($L)) and linalg1.vector_selector(1, $v) * linalg1.vector_selector(1, $w) + linalg1.vector_selector(2, $v) * linalg1.vector_selector(2, $w) + linalg1.vector_selector(3, $v) * linalg1.vector_selector(3, $w) = alg1.zero
                   
                  
                     Rendered Presentation MathML 
                     
                        
                            
                              
                                 
                                    
                                       v 
                                       = 
                                       
                                          coordinates 
                                           
                                          
                                             ( 
                                             
                                                point 
                                                 
                                                
                                                   ( 
                                                   A 
                                                   ) 
                                                 
                                              
                                             ) 
                                           
                                        
                                       = 
                                       
                                          w 
                                          = 
                                          
                                             coordinates 
                                              
                                             
                                                ( 
                                                
                                                   line 
                                                    
                                                   
                                                      ( 
                                                      L 
                                                      ) 
                                                    
                                                 
                                                ) 
                                              
                                           
                                        
                                     
                                    ∧ 
                                    
                                       
                                          
                                             
                                                v 
                                                1 
                                              
                                              
                                             
                                                w 
                                                1 
                                              
                                           
                                          + 
                                          
                                             
                                                v 
                                                2 
                                              
                                              
                                             
                                                w 
                                                2 
                                              
                                           
                                          + 
                                          
                                             
                                                v 
                                                3 
                                              
                                              
                                             
                                                w 
                                                3 
                                              
                                           
                                        
                                       = 
                                       0 
                                     
                                  
                                 ⇒ 
                               
                            
                        
                      
                    
                
             
            
               
                  Example: 
                
                
To extract the coordinates of a point A with coordinates (1,2,3):
                     OpenMath XML (source) 
                     <OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0"> 
<OMA>
   <OMS cd="plangeo4" name="coordinates"/> 
   <OMA>
     <OMS cd="plangeo1" name="point"/>
     <OMV name="A"/>
     <OMA>
       <OMS cd="plangeo4" name="set_coordinates"/>
       <OMV name="A"/>
       <OMA>
         <OMS cd="linalg2" name="vector"/>
         <OMI>1</OMI>
         <OMI>2</OMI>
         <OMI>3</OMI>
       </OMA>
     </OMA>
   </OMA>
</OMA>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <apply><csymbol cd="plangeo4">coordinates</csymbol>
  <apply><csymbol cd="plangeo1">point</csymbol>
   <ci>A</ci>
   <apply><csymbol cd="plangeo4">set_coordinates</csymbol>
    <ci>A</ci>
    <apply><csymbol cd="linalg2">vector</csymbol>
     <cn type="integer">1</cn>
     <cn type="integer">2</cn>
     <cn type="integer">3</cn>
    </apply>
   </apply>
  </apply>
 </apply>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                      
plangeo4.coordinates(plangeo1.point($A, plangeo4.set_coordinates($A, linalg2.vector(1, 2, 3))))
                   
                  
                     Rendered Presentation MathML 
                     
                        
                            
                              
                                 coordinates 
                                  
                                 
                                    ( 
                                    
                                       point 
                                        
                                       
                                          ( 
                                          A 
                                          , 
                                          
                                             set_coordinates 
                                              
                                             
                                                ( 
                                                A 
                                                , 
                                                
                                                   ( 
                                                   1 
                                                   , 
                                                   2 
                                                   , 
                                                   3 
                                                   ) 
                                                 
                                                ) 
                                              
                                           
                                          ) 
                                        
                                     
                                    ) 
                                  
                               
                            
                        
                      
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
             
            
             
            
            
               
                  Description: 
                
               
                   
Boolean function testing whether a point or line is affine.
                
             
            
               
                  Formal Mathematical property (FMP): 
                
               
                  
                     OpenMath XML (source) 
                     
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
<OMBIND><OMS cd="quant1" name="forall"/>
     <OMBVAR><OMV name="v"/></OMBVAR>
     <OMA><OMS cd="logic1" name="implies"/>
          <OMBIND><OMS cd="quant1" name="exists"/>
               <OMBVAR><OMV name="A"/></OMBVAR>
               <OMA><OMS cd="plangeo1" name="point"/>
                    <OMV name="A"/>
                    <OMA><OMS cd="plangeo4" name="set_coordinates"/>
                         <OMV name="A"/><OMV name="v"/>
                    </OMA>
                    <OMA><OMS cd="plangeo4" name="is_affine"/>
                         <OMV name="A"/>
                    </OMA>
               </OMA>
          </OMBIND>   
          <OMA><OMS cd="logic1" name="not"/>
               <OMA><OMS cd="relation1" name="eq"/>
                    <OMA><OMS cd="linalg1" name="vector_selector"/>
                         <OMI>3</OMI>  <OMV name="v"/>
                    </OMA>
                    <OMS cd="alg1" name="zero"/>
               </OMA>
          </OMA>
     </OMA>
</OMBIND>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <bind><csymbol cd="quant1">forall</csymbol>
  <bvar><ci>v</ci></bvar>
  <apply><csymbol cd="logic1">implies</csymbol>
   <bind><csymbol cd="quant1">exists</csymbol>
    <bvar><ci>A</ci></bvar>
    <apply><csymbol cd="plangeo1">point</csymbol>
     <ci>A</ci>
     <apply><csymbol cd="plangeo4">set_coordinates</csymbol><ci>A</ci><ci>v</ci></apply>
     <apply><csymbol cd="plangeo4">is_affine</csymbol><ci>A</ci></apply>
    </apply>
   </bind>
   <apply><csymbol cd="logic1">not</csymbol>
    <apply><csymbol cd="relation1">eq</csymbol>
     <apply><csymbol cd="linalg1">vector_selector</csymbol><cn type="integer">3</cn><ci>v</ci></apply>
     <csymbol cd="alg1">zero</csymbol>
    </apply>
   </apply>
  </apply>
 </bind>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
quant1.forall[$v -> quant1.exists[$A -> plangeo1.point($A, plangeo4.set_coordinates($A, $v), plangeo4.is_affine($A))] ==>  not(linalg1.vector_selector(3, $v) = alg1.zero)]
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 ∀ 
                                   
                                 
                                    v 
                                  
                                 . 
                                 
                                    
                                       ∃ 
                                         
                                       
                                          A 
                                        
                                       . 
                                       
                                          point 
                                           
                                          
                                             ( 
                                             A 
                                             , 
                                             
                                                set_coordinates 
                                                 
                                                
                                                   ( 
                                                   A 
                                                   , 
                                                   v 
                                                   ) 
                                                 
                                              
                                             , 
                                             
                                                is_affine 
                                                 
                                                
                                                   ( 
                                                   A 
                                                   ) 
                                                 
                                              
                                             ) 
                                           
                                        
                                     
                                    ⇒ 
                                    ¬ 
                                    
                                       ( 
                                       
                                          v 
                                          3 
                                        
                                       = 
                                       0 
                                       ) 
                                     
                                  
                               
                            
                        
                      
                   
                
             
            
               
                  Formal Mathematical property (FMP): 
                
               
                  
                     OpenMath XML (source) 
                     
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
<OMBIND>
<OMS cd="quant1" name="forall"/>
  <OMBVAR>
    <OMV name="v"/>
  </OMBVAR>
  <OMA>
    <OMS cd="logic1" name="implies"/>
    <OMBIND>
      <OMS cd="quant1" name="exists"/>
      <OMBVAR><OMV name="A"/></OMBVAR>
        <OMA>
          <OMS cd="plangeo1" name="line"/>
          <OMV name="A"/>
          <OMA>
            <OMS cd="plangeo4" name="set_coordinates"/>
            <OMV name="A"/>
            <OMV name="v"/>
          </OMA>
          <OMA>
            <OMS cd="plangeo4" name="is_affine"/>
            <OMV name="A"/>
          </OMA>
        </OMA>
    </OMBIND>   
    <OMA>
      <OMS cd="logic1" name="not"/>
      <OMA>
        <OMS cd="logic1" name="and"/>
        <OMA>
          <OMS cd="relation1" name="eq"/>
          <OMA>
            <OMS cd="linalg1" name="vector_selector"/>
            <OMI>1</OMI>
            <OMV name="v"/>
          </OMA>
          <OMS cd="alg1" name="zero"/>
        </OMA>
        <OMA>
          <OMS cd="relation1" name="eq"/>
          <OMA>
            <OMS cd="linalg1" name="vector_selector"/>
            <OMI>2</OMI>
            <OMV name="v"/>
          </OMA>
          <OMS cd="alg1" name="zero"/>
        </OMA>
      </OMA>
    </OMA>
  </OMA>
</OMBIND>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <bind><csymbol cd="quant1">forall</csymbol>
  <bvar><ci>v</ci></bvar>
  <apply><csymbol cd="logic1">implies</csymbol>
   <bind><csymbol cd="quant1">exists</csymbol>
    <bvar><ci>A</ci></bvar>
    <apply><csymbol cd="plangeo1">line</csymbol>
     <ci>A</ci>
     <apply><csymbol cd="plangeo4">set_coordinates</csymbol><ci>A</ci><ci>v</ci></apply>
     <apply><csymbol cd="plangeo4">is_affine</csymbol><ci>A</ci></apply>
    </apply>
   </bind>
   <apply><csymbol cd="logic1">not</csymbol>
    <apply><csymbol cd="logic1">and</csymbol>
     <apply><csymbol cd="relation1">eq</csymbol>
      <apply><csymbol cd="linalg1">vector_selector</csymbol><cn type="integer">1</cn><ci>v</ci></apply>
      <csymbol cd="alg1">zero</csymbol>
     </apply>
     <apply><csymbol cd="relation1">eq</csymbol>
      <apply><csymbol cd="linalg1">vector_selector</csymbol><cn type="integer">2</cn><ci>v</ci></apply>
      <csymbol cd="alg1">zero</csymbol>
     </apply>
    </apply>
   </apply>
  </apply>
 </bind>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
quant1.forall[$v -> quant1.exists[$A -> plangeo1.line($A, plangeo4.set_coordinates($A, $v), plangeo4.is_affine($A))] ==>  not(linalg1.vector_selector(1, $v) = alg1.zero and linalg1.vector_selector(2, $v) = alg1.zero)]
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 ∀ 
                                   
                                 
                                    v 
                                  
                                 . 
                                 
                                    
                                       ∃ 
                                         
                                       
                                          A 
                                        
                                       . 
                                       
                                          line 
                                           
                                          
                                             ( 
                                             A 
                                             , 
                                             
                                                set_coordinates 
                                                 
                                                
                                                   ( 
                                                   A 
                                                   , 
                                                   v 
                                                   ) 
                                                 
                                              
                                             , 
                                             
                                                is_affine 
                                                 
                                                
                                                   ( 
                                                   A 
                                                   ) 
                                                 
                                              
                                             ) 
                                           
                                        
                                     
                                    ⇒ 
                                    ¬ 
                                    
                                       ( 
                                       
                                          
                                             v 
                                             1 
                                           
                                          = 
                                          0 
                                        
                                       ∧ 
                                       
                                          
                                             v 
                                             2 
                                           
                                          = 
                                          0 
                                        
                                       ) 
                                     
                                  
                               
                            
                        
                      
                   
                
             
            
               
                  Example: 
                
                
                  
                     OpenMath XML (source) 
                      
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
<OMA>
  <OMS cd="plangeo4" name="is_affine"/>
   <OMV name="A"/>
</OMA>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML"><apply><csymbol cd="plangeo4">is_affine</csymbol><ci>A</ci></apply></math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
plangeo4.is_affine($A)
                   
                  
                     Rendered Presentation MathML 
                     
                   
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
             
            
             
            
            
               
                  Description: 
                
               
                   
This function yields the affine coordinates vector if applied to a point or line with
coordinates in the affine plane.
                
             
            
               
                  Example: 
                
                The affine coordinates (1/3,2/3) are expressed as follows
for the point A with projective coordinates (1,2,3).
                     OpenMath XML (source) 
                     <OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
<OMA>
  <OMS cd="plangeo4" name="affine_coordinates"/>
   <OMA>
     <OMS cd="plangeo1" name="point"/>
     <OMV name="A"/>
     <OMA>
       <OMS cd="plangeo4" name="set_coordinates"/>
       <OMV name="A"/>
       <OMA>
         <OMS cd="linalg2" name="vector"/>
         <OMI>1</OMI>
         <OMI>2</OMI>
         <OMI>3</OMI>
       </OMA>
     </OMA>
   </OMA>
</OMA>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <apply><csymbol cd="plangeo4">affine_coordinates</csymbol>
  <apply><csymbol cd="plangeo1">point</csymbol>
   <ci>A</ci>
   <apply><csymbol cd="plangeo4">set_coordinates</csymbol>
    <ci>A</ci>
    <apply><csymbol cd="linalg2">vector</csymbol>
     <cn type="integer">1</cn>
     <cn type="integer">2</cn>
     <cn type="integer">3</cn>
    </apply>
   </apply>
  </apply>
 </apply>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
plangeo4.affine_coordinates(plangeo1.point($A, plangeo4.set_coordinates($A, linalg2.vector(1, 2, 3))))
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 affine_coordinates 
                                  
                                 
                                    ( 
                                    
                                       point 
                                        
                                       
                                          ( 
                                          A 
                                          , 
                                          
                                             set_coordinates 
                                              
                                             
                                                ( 
                                                A 
                                                , 
                                                
                                                   ( 
                                                   1 
                                                   , 
                                                   2 
                                                   , 
                                                   3 
                                                   ) 
                                                 
                                                ) 
                                              
                                           
                                          ) 
                                        
                                     
                                    ) 
                                  
                               
                            
                        
                      
                    
                
             
            
               
                  Signatures: 
                
               
                  
	sts
       
                
             
            
             
            
             
            
            
               
                  Description: 
                
               
                   
Defines the affine coordinates of an affine point or line.
                
             
            
               
                  Example: 
                
               
Assign the affine coordinates (1/3,2/3) to A.
                     OpenMath XML (source) 
                     <OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
<OMA>
  <OMS cd="plangeo4" name="set_affine_coordinates"/>
  <OMV name="A"/>
     <OMA>
       <OMS cd="linalg2" name="vector"/>
       <OMA>
         <OMS cd="nums1" name="rational"/>
         <OMI> 1 </OMI>
         <OMI> 3 </OMI>
       </OMA>
       <OMA>
         <OMS cd="nums1" name="rational"/>
         <OMI> 2 </OMI>
         <OMI> 3 </OMI>
       </OMA>
     </OMA>
</OMA>
</OMOBJ> 
                   
                  
                     Strict Content MathML 
                     
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <apply><csymbol cd="plangeo4">set_affine_coordinates</csymbol>
  <ci>A</ci>
  <apply><csymbol cd="linalg2">vector</csymbol>
   <apply><csymbol cd="nums1">rational</csymbol>
    <cn type="integer">1</cn>
    <cn type="integer">3</cn>
   </apply>
   <apply><csymbol cd="nums1">rational</csymbol>
    <cn type="integer">2</cn>
    <cn type="integer">3</cn>
   </apply>
  </apply>
 </apply>
</math> 
                   
                  Prefix 
                  
                  
                     Popcorn 
                     
plangeo4.set_affine_coordinates($A, linalg2.vector(1 // 3, 2 // 3))
                   
                  
                     Rendered Presentation MathML 
                     
                        
                           
                              
                                 set_affine_coordinates 
                                  
                                 
                                    ( 
                                    A 
                                    , 
                                    
                                       ( 
                                       
                                           1  
                                           3  
                                        
                                       , 
                                       
                                           2  
                                           3  
                                        
                                       ) 
                                     
                                    ) 
                                  
                               
                            
                        
                      
                    
                
             
            
               
                  Signatures: 
                
               
                  
	sts