Segment
    
            
            in package
            
        
    
    
    
Segment composé de 2 positions ; considéré comme orienté de la première vers la seconde
On considère le segment comme fermé sur sa première position et ouvert sur la seconde Cela signifie que la première position appartient au segment mais pas la seconde.
Table of Contents
Properties
- $tab : TLPos
Methods
- __construct() : mixed
- __toString() : string
- distancePosToLine() : float
- distance signée de $pos à la droite définie par le segment
- distanceToPos() : float
- distance de la position au segment
- intersects() : array<string, mixed>
- intersection entre 2 segments
- projPosOnLine() : float
- projection d'une position sur la ligne définie par le segment retourne u / P' = A + u * (B-A).
- test_distancePosToLine() : void
- test_distanceToPos() : void
- test_intersects() : void
- test_projPosOnLine() : void
- vector() : Point
- génère le vecteur correspondant à $tab[1] - $tab[0] représenté par un Point
Properties
$tab
    public
        TLPos
    $tab
    
    
        tableau de 2 positions
Methods
__construct()
    public
                    __construct(TPos $pos0, TPos $pos1) : mixed
    Parameters
- $pos0 : TPos
- $pos1 : TPos
__toString()
    public
                    __toString() : string
    Return values
stringdistancePosToLine()
distance signée de $pos à la droite définie par le segment
    public
                    distancePosToLine(TPos $pos) : float
    La distance est positive si le point est à gauche de la droite AB et négative s'il est à droite
Parameters
- $pos : TPos
Return values
floatdistanceToPos()
distance de la position au segment
    public
                    distanceToPos(TPos $pos) : float
    Parameters
- $pos : TPos
Return values
floatintersects()
intersection entre 2 segments
    public
                    intersects(Segment $seg) : array<string, mixed>
    Je considère les segments fermés sur le premier point et ouvert sur le second. Cela signifie qu'une intersection ne peut avoir lieu sur la seconde position Si les segments ne s'intersectent pas alors retourne [] S'ils s'intersectent alors retourne le dictionnaire ['pos'=> l'intersection comme Point, 'u'=> l'abscisse sur le premier segment, 'v'=> l'abscisse sur le second] Si les 2 segments sont parallèles, alors retourne [] même s'ils sont partiellement confondus
Parameters
- $seg : Segment
Return values
array<string, mixed>projPosOnLine()
projection d'une position sur la ligne définie par le segment retourne u / P' = A + u * (B-A).
    public
                    projPosOnLine(TPos $pos) : float
    Parameters
- $pos : TPos
Return values
floattest_distancePosToLine()
    public
            static        test_distancePosToLine() : void
    test_distanceToPos()
    public
            static        test_distanceToPos() : void
    test_intersects()
    public
            static        test_intersects() : void
    test_projPosOnLine()
    public
            static        test_projPosOnLine() : void
    vector()
génère le vecteur correspondant à $tab[1] - $tab[0] représenté par un Point
    public
                    vector() : Point