5 svar
2318 visningar
PeterP 5
Postad: 18 dec 2017 13:24

Ligger punkten på linjen?

Hej. Jag har ett problem: jag vill räkna ut om en punkt ligger på en linje eller ej.

Vanligtvis när man räknar sådan här matte så är linjen oändligt lång. I mitt fall har linjen en början och ett slut. Jag vet dessutom inte linjens lutning. Linjen skulle kunna vara vågrät, lodrät eller diagonal.

Det enda jag vet om linjen är: punkten där linjen börjar, och punkten där linjen slutar.

Jag vet även punkten som jag vill kolla om den ligger på linjen eller ej.

För att underlätta så kan vill kalla dessa punkter för: startPunkt, slutPunkt och punkt (den som ska testas).

Jag antar att den räta linjens ekvation kan hjälpa till här, men jag är inte tillräckligt duktig för att kunna tillämpa den själv. Dessutom vet jag inte hur den räta linjens ekvation ställer sig till lodräta och vågräta linjer?

Hur ska jag gå tillväga för att kontrollera om punkten ligger på linjen eller ej?

jonis10 1919
Postad: 18 dec 2017 13:42 Redigerad: 18 dec 2017 13:43

Hej

Kan du skriva ut vad för punkter du har fått? Just nu kan man inte säga något mer om linjen, utan att den har en börjar och ett slut. 

En linjär funktion som skriven på k-form: y=kx+m där k är lutningen och m är skärningspunkten på y-axeln dvs 0,m.

PeterP 5
Postad: 18 dec 2017 13:49 Redigerad: 18 dec 2017 13:51

Jag kan tyvärr inte säga punkterna's värden, då de ändras varje gång.

Vad som sker är att jag ritar en linje i ett dator program. Linjen ritas genom att man placerar muspekaren på en rit-yta och klickar (startPunkt) och håller in och drar. När man släpper knappen skapas slutPunkt. Mellan dessa två punkter ritas en rät linje. (Notera att man kan dra åt vilket håll som helst när man ritar sin linje - vilket innebär att slutPunkt skulle kunna befinna sig till vänster om startPunkt.)

Sedan klickar jag igen. Det är denna punkten jag vill kolla om den har klickat på linjen eller ej.

Detta gör att jag inte kan säga några specifika tal.

Men bara för att ha som exempel: Låt oss anta att startPunkt (15, 27) slutPunkt (9, 12) och punkt (17, 12).
Obs! jag hittade precis på dessa siffror.

tomast80 4245
Postad: 18 dec 2017 13:51

För att täcka in även lodräta linjer kan du använda den allmänna formen: ax+by=c ax+by=c .

jonis10 1919
Postad: 18 dec 2017 14:04 Redigerad: 18 dec 2017 14:08

Okej (Ha i åtanke att detta gäller bara om linjen inte är lodrätt, hur skulle man kunna gör då? Test själv!)

Anta att du har punkterna Startpunkt: x1,y1 slutpunkt: x2,y2 och vår "klickade" punkt xk,yk. Då frågar vi oss ligger punkten xk,yk på linjen? Vi kan ta fram ekvationen för vår dragna linje y=kx+m genom att:

k=y1-y2x1-x2y-y1=kx-x1y=kx-x1+y1y=y1-y2x1-x2x-x1+y1

Vi kollar om punkten ligger på linjen då måste följande gälla: yxk=ykyxk=y1-y2x1-x2xk-x1+y1. Om vänsterledet är det samma som högerledet ligger punkten på linjen.

PeterP 5
Postad: 18 dec 2017 15:03
jonis10 skrev :

Vi kan ta fram ekvationen för vår dragna linje y=kx+m genom att:

k=y1-y2x1-x2y-y1=kx-x1y=kx-x1+y1y=y1-y2x1-x2x-x1+y1

Vi kollar om punkten ligger på linjen då måste följande gälla: yxk=ykyxk=y1-y2x1-x2xk-x1+y1. Om vänsterledet är det samma som högerledet ligger punkten på linjen.

Jag är inte så duktig på matte. Skulle du kunna bryta ner det och förklara det steg för steg?

Svara
Close