Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
 Kliknite na kartu " Vývojár " a potom kliknite na tlačidlo " Visual Basic " otvorte Editor jazyka Visual Basic . 
 2 
 Kliknite na " Vložiť " a potom kliknite na " modul " pre otvorenie prázdne okno modulu 
 3 
 skopírujte a vložte nasledujúci kód do okna modulu : . " Nájdite bod , kde dva segmenty intersect.Public Sub FindLineIntersection ( _ByVal x11 ako Single , byVal Y11 ako Single , _ByVal x12 As Single , byval y12 ako Single , _ByVal x21 As Single , byval Y21 ako Single , _ByVal x22 As Single , byval Y22 ako samostatné , _ByRef inter_x ako Single , ByRef inter_y ako Single , _ByRef inter_x1 ako Single , ByRef inter_y1 As Single , _ByRef inter_x2 ako samostatné , ByRef inter_y2 ako Single ) Dim DX1 ako SingleDim dy1 ako SingleDim DX2 ako SingleDim dy2 ako SingleDim t1 ako SingleDim t2 ako SingleDim menovateľa ako Single 
 
 " Get segmentov parameters.dx1 = x12 - x11dy1 = y12 - y11dx2 = x22 - x21dy2 = Y22 - Y21 
 
 " Riešenie pre t1 a t2.On Error Resume Nextdenominator = ( dy1 * DX2 - DX1 * dy2 ) t1 = ( ( x11 - x21 ) * dy2 + ( Y21 - Y11 ) * DX2 ) /_denominatorIf err.number < > 0 Then ' linky sú parallel.inter_x = 1E +38 : inter_y = 1E +38 inter_x1 = 1E +38 : inter_y1 = 1E +38 inter_x2 = 1E +38 : inter_y2 = 1E +38 Exit SubEnd iFone Error GoTo 0t2 = ( ( x21 - x11 ) * dy1 + ( Y11 - Y21 ) * DX1 ) /_ - menovateľ 
 
 " Hľadať bod intersection.inter_x = x11 + DX1 * t1inter_y = Y11 + dy1 * t1 
 
 " nájdite najbližšiu hodnotu bodov na segments.If t1 < 0 Thent1 = 0ElseIf t1 > 1 Thent1 = 1End nNejsou ak t2 < 0 Thent2 = 0ElseIf t2 > 1 Thent2 = 1End Ifinter_x1 = x11 + DX1 * t1inter_y1 = Y11 + dy1 * t1inter_x2 = x21 + DX2 * t2inter_y2 = Y21 + dy2 * t2End Sub 
 4 
 Press " F5 " spustiť rutinu . 
              
Copyright © počítačové znalosti Všetky práva vyhradené