Parallel Linien von ??? |
Vieleicht kann ja jemand was mit anfangen 8) [code:1:31968e483d] Graphics 800,600,32,2 SetBuffer BackBuffer() HidePointer Global X#,Y# Global StartX#,StartY# Global Winkel# = 0 Global Length# Global Abstand# = 10.0 Global NeuX#,NeuY#,NeuStartX#,NeuStartY# StartX = 300 StartY = 300 Repeat X = MouseX() Y = MouseY() Cls Color 255,255,255 Line StartX,StartY,X,Y Length = Sqr(((StartX-X)*(StartX-X))+((StartY-Y)*(StartY-Y))) Winkel = ASin((StartY-Y)/Length) ; Bestimmen in welchem Quadranten sich die Linie befindet If X >= StartX Then ; Rechte Quadranten If Y >= StartY Then ; Unterer rechter Quadrant ; 0° - 90° Winkel = -1*Winkel Else ; Oberere rechter Quadrant ; 270° - 360° Winkel = 360 - Winkel EndIf Else ; Linke Quadranten If Y >= StartY Then ; Unterere linker Quadrant ; 90° - 180° Winkel = 180 + Winkel Else ; Oberere linker Quadrant ; 180° - 270° Winkel = 180 + Winkel EndIf EndIf ; Die zweite Linie soll parallel verschoben sein ; Der Abstand wird durch die Variable Abstand bestimmt NeuStartX# = StartX + Cos(Winkel+90)*Abstand NeuStartY# = StartY + Sin(Winkel+90)*Abstand NeuX# = X + Cos(Winkel+90)*Abstand NeuY# = Y + Sin(Winkel+90)*Abstand Color 255,0,0 Line NeuStartX,NeuStartY,NeuX,NeuY Line X,Y,X+Cos(Winkel+90)*Abstand,Y+Sin(Winkel+90)*Abstand Line StartX,StartY,StartX+Cos(Winkel+90)*Abstand,StartY+Sin(Winkel+90)*Abstand Color 255,255,0 Text 0,0,"Winkel : "+Winkel+"° Länge : "+Length Flip Until KeyHit(1) End [/code:1:31968e483d] |
von ??? |
wenn du die maus dirket auf den ersten punkt der ersten linie bewegst, kommt n senkrechter roter strich... wenn das noch weg ist isses sicher mal brauchbar... |
von ??? |
Das ist ja keine große Sache [code:1:940236f041] Graphics 800,600,32,2 SetBuffer BackBuffer() HidePointer Global X#,Y# Global StartX#,StartY# Global Winkel# = 0 Global Length# Global Abstand# = 10.0 Global NeuX#,NeuY#,NeuStartX#,NeuStartY# StartX = 300 StartY = 300 Repeat X = MouseX() Y = MouseY() Cls Color 255,255,255 Line StartX,StartY,X,Y Length = Sqr(((StartX-X)*(StartX-X))+((StartY-Y)*(StartY-Y))) Winkel = ASin((StartY-Y)/Length) ; Bestimmen in welchem Quadranten sich die Linie befindet If X >= StartX Then ; Rechte Quadranten If Y >= StartY Then ; Unterer rechter Quadrant ; 0° - 90° Winkel = -1*Winkel Else ; Oberere rechter Quadrant ; 270° - 360° Winkel = 360 - Winkel EndIf Else ; Linke Quadranten If Y >= StartY Then ; Unterere linker Quadrant ; 90° - 180° Winkel = 180 + Winkel Else ; Oberere linker Quadrant ; 180° - 270° Winkel = 180 + Winkel EndIf EndIf ; Die zweite Linie soll parallel verschoben sein ; Der Abstand wird durch die Variable Abstand bestimmt If Length > 0 Then NeuStartX# = StartX + Cos(Winkel+90)*Abstand NeuStartY# = StartY + Sin(Winkel+90)*Abstand NeuX# = X + Cos(Winkel+90)*Abstand NeuY# = Y + Sin(Winkel+90)*Abstand Color 255,0,0 Line NeuStartX,NeuStartY,NeuX,NeuY Line X,Y,X+Cos(Winkel+90)*Abstand,Y+Sin(Winkel+90)*Abstand Line StartX,StartY,StartX+Cos(Winkel+90)*Abstand,StartY+Sin(Winkel+90)*Abstand EndIf Color 255,255,0 Text 0,0,"Winkel : "+Winkel+"° Länge : "+Length Flip Until KeyHit(1) End [/code:1:940236f041] |