Programmering.

Föregående
Till botten     Sista sidan
Nästa
Hejhejhejjaja Kille, 30 år

972 forumsinlägg

Skrivet:
18 april 2013 kl. 23:28
Hejhejhejjaja Kille, 30 år

Hur tar jag riktningen från en punkt till en annan? Är det tan eller?

AVIATO Kille, 32 år

1 179 forumsinlägg

Skrivet:
18 april 2013 kl. 23:40
AVIATO Kille, 32 år

Citat från Vampyr


Hur tar jag riktningen från en punkt till en annan? Är det tan eller?

Ganska säker på att det är cosine för x och sine för y, dock inte 100%.

Elefanton Kille, 31 år

3 181 forumsinlägg

Skrivet:
18 april 2013 kl. 23:42
Elefanton Kille, 31 år

Bara älskar första posten i den här tråden, haha.

Hejhejhejjaja Kille, 30 år

972 forumsinlägg

Skrivet:
18 april 2013 kl. 23:44
Hejhejhejjaja Kille, 30 år

Citat från SUPSON


Citat från Vampyr

Hur tar jag riktningen från en punkt till en annan? Är det tan eller?

Ganska säker på att det är cosine för x och sine för y, dock inte 100%.


Nej nej nej de har jag koll på, det är andra funktioner

Hejhejhejjaja Kille, 30 år

972 forumsinlägg

Skrivet:
18 april 2013 kl. 23:44
Hejhejhejjaja Kille, 30 år

Är ute efter typ motsatsen

AVIATO Kille, 32 år

1 179 forumsinlägg

Skrivet:
18 april 2013 kl. 23:55
AVIATO Kille, 32 år

Citat från Vampyr


Är ute efter typ motsatsen

Ah, arctan?

lusius Kille, 34 år

932 forumsinlägg

Skrivet:
19 april 2013 kl. 04:33
lusius Kille, 34 år

Om du har två punkter och skall beräkna riktningen mellan A och B (oavsett dimension) blir beräkningen

Riktning = B-A

För att få en vettig riktningsvektor med längden ett bör du normalisera den (dela med dess längd).

Så om du har punkten A(10,40) och punkten B(-20,50) blir riktningsvektorn som tittar på B från A:

V.x = B.x - A.x = -30
V.y = B.y - A.y = 10

Längden beräknar du med en vanlig pytagoras sats där summan av kvadraten på kateterna är lika med hypotenusen i kvadrat.
a^2 + b^2 = c^2.

Delar du vektorelementen med längden får du ut din normaliserade vektor :)

lusius Kille, 34 år

932 forumsinlägg

Skrivet:
19 april 2013 kl. 04:46
lusius Kille, 34 år

typedef struct {
float x,y;
} v2_t;

float normalize(v2_t* v)
{
//beräkna recipprocten av att dela med längden.
float rec_l = 1.0/sqrt((v->x*v->x)+(v->y*v->y));
v->x *= rec_l;
v->y *= rec_l;
//lite ooptimerat men ja. get the point.
return 1.0/rec_l;
}

int main(int argc, char **argv)
{
v2_t a;
a.x = 1.0;
a.y = 1.0;

printf("length: %f\n",normalize(&a));
printf("x:%f y:%f\n",a.x,a.y);

return 0;
}

lusius Kille, 34 år

932 forumsinlägg

Skrivet:
19 april 2013 kl. 04:47
lusius Kille, 34 år

där har du lite kod för normalisering.

lusius Kille, 34 år

932 forumsinlägg

Skrivet:
19 april 2013 kl. 04:58
lusius Kille, 34 år

går att skriva det betydligt snabbare lite sseassembler men ja, vill någon ha det så säg till :)

lusius Kille, 34 år

932 forumsinlägg

Skrivet:
19 april 2013 kl. 07:37
lusius Kille, 34 år

Haha oh you. :) Normalisera en vektor goddamnit!

Hejhejhejjaja Kille, 30 år

972 forumsinlägg

Skrivet:
19 april 2013 kl. 09:04
Hejhejhejjaja Kille, 30 år

Alltså jag vill ha svaret i grader! :)

AVIATO Kille, 32 år

1 179 forumsinlägg

Skrivet:
19 april 2013 kl. 09:33
AVIATO Kille, 32 år

Citat från Vampyr


Alltså jag vill ha svaret i grader! :)

använd dig av arctan då.

Hejhejhejjaja Kille, 30 år

972 forumsinlägg

Skrivet:
19 april 2013 kl. 16:20
Hejhejhejjaja Kille, 30 år

Citat från SUPSON


Citat från Vampyr

Alltså jag vill ha svaret i grader! :)

använd dig av arctan då.


kthx! :D

AVIATO Kille, 32 år

1 179 forumsinlägg

Skrivet:
19 april 2013 kl. 23:23
AVIATO Kille, 32 år

Citat från Vampyr


Citat från SUPSON

Citat från Vampyr

Alltså jag vill ha svaret i grader! :)

använd dig av arctan då.

kthx! :D


atan2 är säkrast att använda i c++, ger dock tillbaks -180 till 180 så om du vill ha 0 till 360 måste du konvertera.


Föregående
Till toppen     Sista sidan
Nästa

Du måste vara inloggad för att skriva i forumet