Page 1 of 1

C++ SFML vektoru reizināšana

Posted: 02 Mar 2012, 17:12
by kristapuciitis
Sveiki!
Vai sf::Vector2 reizinās savā starpā kā, piem., vektori XNA? Ja ir iespējams, tad kā to izdarīt? Kad es divus vektorus saskaitu, viss ir normāli, bet tiklīdz reizinu, raksta "no operator "*" matches these operands", tas pats ar dalīšanu.

Re: C++ SFML vektoru reizināšana

Posted: 02 Mar 2012, 17:18
by bubu
Tu domā reizināt pa komponentēm? Divus vektorus tā reizināt reti vajag. 2D/3D grafikā tā ir reta operācija. Tāpēc droši vien SFML to neimplementē. Uzraksti pats tādu.
Tāpat kā divu vektoru dalīšana - kāda matemātiska jēga no tā? Piemēram, reizināt ar skaitli vai dalīt ar skaitli ir jēga - tādējādi tu maini vektora garumu.

Re: C++ SFML vektoru reizināšana

Posted: 02 Mar 2012, 17:22
by kristapuciitis
bubu wrote:Divus vektorus tā reizināt reti vajag. 2D/3D grafikā tā ir reta operācija.
Man vajag pozīcija += virziens * ātrums. Šaubos, ka tā ir reta operācija, jo C# XNA es to daudz lietoju.

EDIT: aizmirsu pierakstīt, ka sf::Vector2 nereizinās un nedalās arī ar skaitļiem

Re: C++ SFML vektoru reizināšana

Posted: 02 Mar 2012, 17:34
by bubu
sf::Vector2 noteikti reizinās un dalās ar skaitļiem.

Tavā formulā ir jocīgi, ja ātrums ir vector2. Virziens - ok jā. Bet virzienu, kas ir vec2, reizināt ar ātrumu, kas ir vec2, matemātiski ir bezjēdzīga operācija.
Normāli būtu, ja tev ātrums pats par sevi būtu vec2, un tu gribētu veikt pozīcija += k * ātrums, kur k ir kautkāds koeficients (skaitlis).