webForumDet fria alternativet

Flytta längs en linje (matematik)

Matematik

5 svar · 521 visningar · startad av msossna

Medlem sedan feb. 2002476 inlägg
Frågan#1

Om man startar i punkten a,b och ska till punkten c,d, hur räknar man ut var man hamnar om man går med längden l, från a,b mot c,d?

Medlem sedan juni 200083 inlägg
#2

Är det vektorer vi snackar om!?

Medlem sedan sep. 2006867 inlägg
#3

Du kan rita upp en linje mellan (a,b) och (c,d).

Sen vill du räkna ut vad lutningen på strecket är. Du har både höjd och längd så du kan räkna ut vinkeln med hjälp av tangens. tan(alpha) = (d-b)/(c-a). Jag har satt vinkeln alpha mellan strecket och x-komponenten.

Med känd vinkel kan du nu enkelt räkna ut dina nya c' och d' :

c' = a + cos(alpha)*l
d' = b + sin(alpha)*l

En bra sida som tittar på ovan använda funktioner är (på norska)

http://www.matematikk.net/klassetrinn/klasse1MXY/trigonometri.php

För fler så sök på Google på trigonometri :)

Medlem sedan juli 2002581 inlägg
#4

headbug skrev:

c' = a + cos(alpha)*l
d' = b + sin(alpha)*l

Trigonometri är onödigt. Dessutom funkar inte den metoden för alla punkter. Det är bättre att göra så här:

Skaffa en vektor e från (a,b) till (c,d)
e = (c-a,d-b);

Gör nu e till längden 1:
ê = e/|e|;

Du hamnar då i punkten (a,b) + l*ê.

Medlem sedan feb. 2002476 inlägg
#5

Om jag vill gå bort från punkten istället, går det då använda (a,b) - l*ê?

Medlem sedan juli 2002581 inlägg
#6

msossna skrev:

Om jag vill gå bort från punkten istället, går det då använda (a,b) - l*ê?

Japp!

252 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)