C++ SFML vektoru reizināšana

Vieta, kur parunāt par to, kas nav atsevišķi izdalīts augstāk
Post Reply
Message
Author
User avatar
kristapuciitis
Posts: 163
Joined: 03 Jun 2011, 14:22

C++ SFML vektoru reizināšana

#1 Post by kristapuciitis » 02 Mar 2012, 17:12

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.
Gooby pls

bubu
Guru
Guru
Posts: 398
Joined: 07 Dec 2010, 11:54

Re: C++ SFML vektoru reizināšana

#2 Post by bubu » 02 Mar 2012, 17:18

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.

User avatar
kristapuciitis
Posts: 163
Joined: 03 Jun 2011, 14:22

Re: C++ SFML vektoru reizināšana

#3 Post by kristapuciitis » 02 Mar 2012, 17:22

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
Gooby pls

bubu
Guru
Guru
Posts: 398
Joined: 07 Dec 2010, 11:54

Re: C++ SFML vektoru reizināšana

#4 Post by bubu » 02 Mar 2012, 17:34

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).

Post Reply

Return to “Programmēšana / Programming”