Hogyan tudom elforgatni az "irányt"?
Csak hobbiként programozom, amit tudok, azt internetről tanultam, tehát nem vagyok valami profi programozó.
A kérdésem az lenne, hogy hogyan tudom elforgatni az "irányt"
Az irány például: X:1 Y:0 azaz jobbra mutat.
Mindegy merre mutat, de a nullától való távolsága mindig egy.
Hogyan tudok egy olyan algoritmust írni, amivel elforgatná valamennyi fokkal?
pl.: X:1 Y:0 Forgat(X,Y,90) = X:0 Y:1;
Az irány és a távolság algoritmusok már megvannak.
-------
Function Tavolsag(X1,Y1,X2,Y2:Real):Real;
begin
Result:= sqrt(sqr(x1-x2)+sqr(y1-y2));
end;
-------
-------
Function Irany(X,Y: Real):TPR; //a TPR az az X és Y, csak Real
var X1,Y1,cs,Tav:Extended; Ir:TPR;
begin
X1:=X;Y1:=Y;
tav:= Tavolsag(0,0,X1,Y1); Ir.X:=0; Ir.Y:=0;
If Tav>0 then begin
Ir.X:=X1/Tav;
Ir.Y:=Y1/Tav;
Result:=Ir; end else begin Result:=Ir; end;
-------
Function Forgat(Irany: TPR; Fok: Real): TPR;
begin
???
end;
Köszönöm :)
Ha egységvektorról van szó, akkor ajánlom figyelmedbe ezt az ábrát:
Főleg a kör részét. Nem tudom, mikor tanultál trigonometriát, de a sin/cos gyakorlatilag pontosan az, ami neked kell.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!