Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


vektorberäkning

Postades av 2002-12-19 19:01:49 - Michael Dahlander, i forum spel/grafik, Tråden har 8 Kommentarer och lästs av 1013 personer

Hej!

Har en vektor (2-dim) som motsvarar en vägg i ett spel. Ett föremål rör sig mot "väggen", beskrivet med en annan vektor . Hur beräknar jag reflektionsvektorn med hjälp av väggens vektor och föremålets vektor?

tackar för svar
Michael


Svara

Sv: vektorberäkning

Postades av 2002-12-20 16:22:56 - Niklas Jansson

Låt säga att väggen har riktningsvektorn u=(xu, yu), och rörelsen med v=(xv,yv).
sätt då
Alpha = ATan2(yu, xu)
Beta = ATan2(yv, xv)
R=Sqr(yv*yv+xv*xv)

då är den reflekterade rörelsen w=(xw, yw)

xw=R*Cos(2*Alpha-Beta)
yw=R*Sin(2*Alpha-Beta)

Det går nog att förenkla formlerna, men det får du göra det själv.

/Niklas Jansson



Svara

Sv: vektorberäkning

Postades av 2002-12-21 18:58:07 - Michael Dahlander

Hej!

Tack för ditt svar. Ska titta närmre på det senare. Kom på att det måste fungera med enkel vektorberäkning.
Reflektionsvektorn blir:
w = 2u - v om vinkeln är spetsig
w = -2u -v om vinkeln är trubbig
w = -v om vinkeln är rät

Spetsig, trubbig eller rät vinkel avgörs enkelt med skalärprodukten. Detta förutsätter att väggens riktningsvektor pekar medsols i förhållande till rörelsevektorn.

Varifårn får du ATan2? Är det samma som Atn?

mvh
/Michael


Svara

Sv: vektorberäkning

Postades av 2002-12-21 19:11:53 - Niklas Jansson

>Reflektionsvektorn blir:
>w = 2u - v om vinkeln är spetsig
>w = -2u -v om vinkeln är trubbig
>w = -v om vinkeln är rät

Njaee... det verkar inte stämma riktigt...
Det kanske stämmer om u är parallell med x-axeln.

Atan2 är fel. det jag menar är Atn2, och denna räknar dels ut arctangens för y/x och dels väljer den rätt kvadrant.

/Niklas Jansson


Svara

Sv: vektorberäkning

Postades av 2002-12-21 19:30:30 - Niklas Jansson

ojsan. va lite väl snabb där.
Du har antagligen rätt.

Jag blandar alltid ihop -u med konjugatet till u (om man låtsas att u är ett komplext tal).

/Niklas Jansson


Svara

Sv: vektorberäkning

Postades av 2002-12-21 22:31:09 - Michael Dahlander

Hej!

Nej helt rätt var det inte. Tack vare din kommentar kontrollerade jag igen och upptäckte att vektorn u måste multipliceras med faktorn (u*v)/(u*u) (*=skalärprodukten). Detta innebär också stt formeln blir oberoende av om vinkeln är rät, spetsig eller trubbig.

alltså reflektionsvektorn blir:
w = 2u' - v
där u' = (u*v)/(u*u)u (sista u:et är vektorn och det innan är tal)

mvh
/Michael


Svara

Sv: vektorberäkning

Postades av 2002-12-21 23:21:04 - Niklas Jansson

har den verkligen rätt längd?
Borde kanske ta w'=|u|/|w| * w ?

/Niklas Jansson


Svara

Sv: vektorberäkning

Postades av 2002-12-21 23:56:24 - Michael Dahlander

Hej!

Jo, längden blir rätt. Tack vara skalningen beskriven ovan.
Har man u som enhetsvektor räcker det med u' = (u*v)u.

u' blir helt enkelt v's projektion på u. (eller v's skugga på u). Sedan är det vanlig vektoraritmetik.

exempel:

v = (2,5) längd:5.3852
u = (3,1) (ingen enhetsvektor)

faktorn enligt mitt förra inlägg blir 1.1 och
u' = (3.3 , 1.1)

2u'-v blir (4.6 , -2.8) längd:5.3852

mvh
/Michael


Svara

Sv: vektorberäkning

Postades av 2002-12-22 00:43:34 - Niklas Jansson

ok, jag ger mig. =)

Kul att det löste sig till slut.

/NJ


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 749
27 959
271 761
989
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies
Expand
next previous
Close

Previous

0/0

Next