LinesIntersect
Author: MetalRain
        Added: 9. huhtikuuta 2011 kello 23.48
        Edited: 15. huhtikuuta 2011 kello 22.19
        Category: Matematiikka
    
Description
Janojen leikkauksen ja leikkauspisteen laskeva funktio. Leikkauspiste saatavilla
IntersX ja IntersY koordinaateista.
    Code
Select all1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20  | Global IntersX As Float, IntersY As Float
Function Lines_Intersect(Ax#, Ay#, Bx#, By#, Cx#, Cy#, Dx#, Dy#)
   Rn# = (Ay#-Cy#)*(Dx#-Cx#) - (Ax#-Cx#)*(Dy#-Cy#)
   Rd# = (Bx#-Ax#)*(Dy#-Cy#) - (By#-Ay#)*(Dx#-Cx#)
   If Rd# = 0
       Return False    
   Else
       Sn# = (Ay#-Cy#)*(Bx#-Ax#) - (Ax#-Cx#)*(By#-Ay#)
       Intersection_AB# = Rn# / Rd#
       Intersection_CD# = Sn# / Rd#        
       If Intersection_AB#>1 Or Intersection_CD#>1 Or Intersection_AB#<0 Or Intersection_CD#<0 Then Return False
       IntersX = Ax# + Intersection_AB#*(Bx#-Ax#)
       IntersY = Ay# + Intersection_AB#*(By#-Ay#)    
       Return True        
   EndIf
End Function
 | 
Comments
No comments. You can be first!
Leave a comment
            You must be logged in to comment.