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


Flytta objekt

Postades av 2010-02-18 18:56:38 - Jonas Sjöblom, i forum matte/fysik/beräkna, Tråden har 7 Kommentarer och lästs av 5819 personer

Hur löser jag detta?

Jag har ett objekt på en 2D yta, objektet har 2 värden, hastighet och vinkel.

Vinkeln kan ha ett värde mellan 1 och 360 (där 360 är rakt upp, 90 rakt åt höger osv.) och sträcka mellan 1 och 10.
Objektet har också en x och y position.

Nu vill jag flytta objektet x steg åt det håll vinkeln har.


Om jag t.ex. har ett objekt på position x:20 och y:30 och vinkeln är 90 och sträckan 5.
Då ska den nya positionen bli x:25 och y:30

Men hur löser jag det här matematiskt/kodmässigt?


Svara

Sv: Flytta objekt

Postades av 2010-02-18 19:27:26 - Per Persson

Låt d vara distansen (5 i exemplet), och v vinkeln (måste nog vara i radianer till sin och cos).

Då skall du utföra detta:
x += d * cos(v)
y += d * sin(v)


Svara

Sv:Flytta objekt

Postades av 2010-02-18 19:59:38 - Jonas Sjöblom

Tack! Distansen verkar bli rätt men vinkeln får jag inte att bli rätt. Nu flyttar den sig snett ner åt vänster när jag anger 90 grader (ca 125 grader från topp).

Vad betyder att den ska vara i radianer till sin och cos?


Svara

Sv: Flytta objekt

Postades av 2010-02-19 08:01:37 - Per Persson

Trigonometrifunktionerna brukar inte ta argumentet i grader utan i ett annat vinkelmått, kallat radianer. På ett varv går 2pi radianer. Om v är vinkeln i grader skall du därför skicka in pi*v/180 som argument.

http://sv.wikipedia.org/wiki/Radian


Svara

Sv:Flytta objekt

Postades av 2010-02-19 21:16:42 - Jonas Sjöblom

Tack! Nu fungerar det bra :)


Svara

Sv:Flytta objekt

Postades av 2010-02-20 19:57:15 - Jonas Sjöblom

Hej igen, av olika anledningar bestämde jag mig för att använda radianer trots allt men det vill sig inte alls.

var speed = 4;
var direction = 1;
var movex = speed * Math.cos(direction * Math.PI);
var movey = speed * Math.sin(direction * Math.PI);

Nu tycker man ju att antingen movex eller movey borde bli 0 eftersom objektet bara ska färdas åt ett håll, men så verkar det inte bli.

movex blir helt korrekt -4
movey blir däremot 4.898587196589413e-16

Tänkter jag fel?


Svara

Sv: Flytta objekt

Postades av 2010-02-20 20:01:37 - Jonas Sjöblom

Jag testade att på google skriva sin(1pi) och då ger den svaret 0, varför får jag ett annat svar från javascript?


Svara

Sv:Flytta objekt

Postades av 2010-02-21 08:54:23 - Jonas Sjöblom

Löste det, genom att använda Math.Round


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

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 569 614
27 953
271 709
493
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