Gjakmarrja Skrevet 17. januar 2007 Del Skrevet 17. januar 2007 Hei! Jeg må lage et lite program som tar 4 inputs, altså x og y til to vektorer. Så skal da programmet regne ut en x verdi, hvor disse to vektorene krysses. Hvordan kan jeg gjøre dette? Mulig det er enklere enn jeg gjør det til, men nå ser jeg ikke noe løsning. Takk for hjelpen Lenke til kommentar
Jonas Skrevet 17. januar 2007 Del Skrevet 17. januar 2007 (endret) Du kan feks. regne ut en funksjon for begge linjene. AX + B = AX + B X = ? Jeg lagde dette for en stund siden, som en del av et bilspill. To linjer, definert med fire XY-variabler. VB-kode og greier. Private Function CalculateNewPoint(p1 As Cords, _ p2 As Cords, _ p3 As Cords, _ p4 As Cords) As Cords Dim A(1) As Double Dim b(1) As Double Dim x As Double A(0) = (p2.y - p1.y) / (p2.x - p1.x) A(1) = (p4.y - p3.y) / (p4.x - p3.x) b(0) = p1.y - A(0) * p1.x b(1) = p3.y - A(1) * p3.x x = (b(1) - b(0)) / (A(0) - A(1)) CalculateNewPoint.x = x CalculateNewPoint.y = p2.y - ((p2.x - x) * A(0)) End Function p1-2 er første linje, mens p3-4 er andre linje. Endret 17. januar 2007 av Jonas Lenke til kommentar
Gjakmarrja Skrevet 17. januar 2007 Forfatter Del Skrevet 17. januar 2007 Det eneste problemet er at linjene som jeg gir som "input" ikke har krysset hverandre "enda". Lenke til kommentar
Jonas Skrevet 17. januar 2007 Del Skrevet 17. januar 2007 Linjene trenger ikke å allerede krysse hverandre. Formlene i funksjonen regner ut kryssningspunktet uavhengig av det. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå