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