Hirdetés
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- GoodSpeed: Samsung Galaxy SmartTag2-esek a tolvajok ellen!
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- bambano: Bambanő háza tája
- Luck Dragon: MárkaLánc
- Mr Dini: Mindent a StreamSharkról!
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- RIOS Gépház: Rebootoljuk a PROHARDVER YouTube csatornáját!
Új hozzászólás Aktív témák
-
Tomi_78
aktív tag
Sziasztok!
Egy kis 3D-szerű programot készítek C#-ban és ebben szükségem van arra, hogy tudjam, hogy egy pont melyik irányban van egy másiktól a síkban.
Ehhez a következő képletet használom, miután kiböngésztem a világháló bugyraiból:Math.Atan2(kamnezy-(a_kamera.yhely+5),kamnezx-(a_kamera.xhely+5))*(180/Math.PI)
A kamera 10 képpont sugarú kör, ezért a középpontja +5 pixellel van a szélétől. Illetve van a kamnezx-kamnezy pont, ami 20 képpontnyira van a kamera előtt, és egy fekete vonal jelzi az irányát és a végét a mellékelt képen. A képeltben e két pont egymáshoz viszonyított irányát vizsgálom, próbaképpen.
Na de ami furcsa, az a visszaadott értékek. Ugyanis ha a kamera felfelé néz, akkor negatív számokat mutat irányként, míg ha lefelé, akkor a várttól teljesen eltérőt, pl. a képen látható 90-et a 270 helyett.
Végül is tudom ezeket korrigálni (felfelé az Abs() függvény használatával, míg lefelé úgy, hogy az új irányérték az a régi + (180 - régi) legyen), és így megkapni a valós értékeket, de akkor is kíváncsi vagyok arra, hogy mi lehet ezen hibák oka?
Netán mégis rossz a képlet?
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest