CH4RG3
Török Attila Szoftver laboratórium 1 nagy házi feladata
Line

Egy vonalat leíró struktúra és a hozzá tartozó függvények. Részletek...

Fájl

fájl  line.c
 A egyeneseket (szakaszokat) kezelő függvények definíciói, és néhány segédfüggvény.
fájl  line.h
 Egy egyenest (vonalat, szakaszt) leíró struktúra és a hozzá tartozó függvények deklarációi.

Adatszerkezetek

struct  Line
 Egy egyenest leíró struktúra. Részletek...

Függvények

Line line_from_points (Vector, Vector)
 A Line struktúra egyik konstruktora.
Line line_from_point_and_normal (Vector, Vector)
 A Line struktúra másik konstruktora.
float point_line_distance (Vector, Line)
 Egy pont és egy egyenes előjeles távolságát kiszámoló függvény.
int point_on_side_of_line (Vector, Line)
 Egy pontnak egy egyeneshez viszonyított elhelyezkedését megadó függvény.
Vector line_normal (Line)
 Egy egyenes normálvektorát kiszámoló függvény.
int lines_are_intersecting (Line, Line)
 Meghatározza, hogy két szakasz metszi-e egymást.
int lines_intersection_point (Line, Line, Vector *)
 Kiszámolja két szakasz metszéspontját.

Részletes leírás

Egy vonalat leíró struktúra és a hozzá tartozó függvények.

Függvények dokumentációja

Line line_from_point_and_normal ( Vector  a,
Vector  n 
)

A Line struktúra másik konstruktora.

Paraméterek
aAz egyenes (szakasz) egyik (kezdő-) pontja.
nAz egyenesre merőleges normálvektor.
Visszatérési érték
A létrehozott Line struktúra.
Lásd még
Line
Vector

Ez a függvény létrehoz egy Line struktúrát egy rajta fekvő (kezdő-) pontból (a), és egy az egyenesére merőleges normálvektorból (n).

Az egyenest (szakaszt) meghatározó két pont távolsága (tehát a szakasz hossza) a megadott normálvektor hosszával lesz egyenlő.

Line line_from_points ( Vector  a,
Vector  b 
)

A Line struktúra egyik konstruktora.

Paraméterek
aAz egyenes (szakasz) egyik (kezdő-) pontja.
bAz egyenes (szakasz) másik (vég-) pontja.
Visszatérési érték
A létrehozott Line struktúra.
Lásd még
Line

Ez a függvény létrehoz egy Line struktúrát a két megadott pontjából (a, b).

Vector line_normal ( Line  l)

Egy egyenes normálvektorát kiszámoló függvény.

Paraméterek
lAz egyenes, aminek a normálvektora számolandó.
Visszatérési érték
A normálvektor.
Lásd még
Line
Vector

Ez a függvény kiszámolja az egyik l egyenesre merőleges, egység hosszú normálvektort.

int lines_are_intersecting ( Line  a,
Line  b 
)

Meghatározza, hogy két szakasz metszi-e egymást.

Paraméterek
aAz egyik szakasz.
bA másik szakasz.
Visszatérési érték
0, ha a két szakasz nem metszi egymást; 1, ha igen.
Lásd még
Line

Ez a függvény megadja, hogy két szakasz metszi-e egymást az őket meghatározó végpontok között.

int lines_intersection_point ( Line  a,
Line  b,
Vector v 
)

Kiszámolja két szakasz metszéspontját.

Paraméterek
aAz egyik szakasz.
bA másik szakasz.
vEgy pointer egy Vectorra, amibe a metszéspont kerül.
Visszatérési érték
0, ha a két szakasz nem metszi egymást; 1, ha igen.
Lásd még
Line
Vector

Ez a függvény kiszámolja, hogy a két szakasz hol metszi egymást.

Ha ez a pont nem létezik, vagy a szakaszokon kívülre esik, akkor a v által mutatott Vector nem módosul.

float point_line_distance ( Vector  v,
Line  l 
)

Egy pont és egy egyenes előjeles távolságát kiszámoló függvény.

Paraméterek
aA pont, aminek a távolsága számolandó.
lAz egyenes, amitől a távolság mérendő.
Visszatérési érték
A pont és az egyenes előjeles távolsága.
Lásd még
Line
Vector

Ez a függvény kiszámolja egy pontnak egy egyenestől (azt nem szakasznak tekintve) mért előjeles távolságát.

Az előjel attól függ, hogy az egyenes melyik oldalán van a pont.

int point_on_side_of_line ( Vector  v,
Line  l 
)

Egy pontnak egy egyeneshez viszonyított elhelyezkedését megadó függvény.

Paraméterek
aA pont, aminek a távolsága számolandó.
lAz egyenes, amitől a távolság számolandó.
Visszatérési érték
0, ha a pont az egyenesen van; +1, ha a kiszámolt normálvektor irányában lévő félsíkban van, -1; ha az ellenkezőben.
Lásd még
Line
line_normal
Vector

Ez a függvény megadja, hogy a v pont az l egyenesen fekszik-e, vagy az általa meghatározott két félsík közül melyikben van.