CoolBasic SDK

LinesIntersect

Include "cbMath.cb"

KUVAUS
Tarkistaa leikkavatko kaksi janaa toisensa ja palauttaa True (1) jos näin on.

Leikkauspisteen koordinaatit tallentuvat muuttujiin IntersX ja IntersY

Jos janat ovat yhdensuuntaiset ja lisäksi päällekkäin, eli leikkauspisteitä on ääretön määrä, asetetaan LinesOnTop-muuttujan arvoksi True. Tällöin leikkauspisteeksi tallennetaan (0,0).

KÄYTTÖ
LinesIntersect(Ax, Ay, Bx, By, Cx, Cy, Dx, Dy)
Ax, Ay = Ensimmäisen janan toinen päätepiste
Bx, By = Ensimmäisen janan toinen päätepiste
Cx, Cy = Toisen janan toinen päätepiste
Dx, Dy = Toisen janan toinen päätepiste

Katso myös: LineAngle

ESIMERKKI
Include "sdk/include/cbMath.cb"

Repeat
    
    Line 50,100,350,200
    Line 200,30,MouseX(),MouseY()
    
    If LinesIntersect(50,100,350,200,200,30,MouseX(),MouseY()) Then
    Circle IntersX-5,IntersY-5,10
    EndIf
    
    DrawScreen

Forever