[3D][Sin&Cos]Problem Kamerarotation

08/16/2014 21:09 FacePalmMan#1
wie der titel schon sagt habe ich ein AutoIt script welches sachen in 3D darstellt, was aber nicht richtig funktioniert. ich weiss dass es für autoit die autoit section gibt, doch leider wird dort nicht auf mein anliegen geantwortet. ich vermute, dass niemand dort einen funken ahnung von sin&cos hat, weil nähmlich alle die was davon verstehen schon längst mit höheren sprachen arbeiten. und um genau zu sein hat das problem nicht direkt mit autoit zu tun, sondern mehr um sin&cos.
und zwar als erstes: der third person modus. der third person modus lasse ich so darstellen:
Code:
;Setzt die position der Kamera, die kamera guckt aber zu den als letzte parameter angegebenen koordinaten (Richtungen: +X=tiefe, +Y=links, +Z=oben)
_S3d_SetCamera($x - (Sin($AngleX) * 100), $y - (Cos($AngleX) * 100), $z + (Sin($AngleY) * 100), $x, $y, $z+50) ;Kopfmittelposition=(x|y|z+50)
Nur leider wird bei den x und y koordinaten nicht die y rotation berücksichtigt, weswegen die kamera vertikal (↕) hin und her "wabbelt", wenn ich die y rotation verändere. normalerweise habe ich nie probleme wenn es um sinus oder cosinus geht, doch leider scheine ich dieses problem nicht lösen zu können. wäre nett wenn sich jemand hier mit sinus und cosinus auskennt und mir eine mögliche lösung vorschlägt. komplette source sollte meiner meinung nach nicht nötig sein, weswegen ich die source nur reinpacken werde wenn sie doch von jemanden zur lösung des problemes benötigt wird.

gespräche bezüglich dieses problemes würde ich lieber auf skype verlagern, da ich nicht alle 30 sekunden auf elitepvpers wechseln kann um zu sehen ob schon jemand zurückgeschrieben hat, da ich ja selber zu tun habe.
08/17/2014 15:31 Terreox#2
Falsche Sektion.

Quote:
Originally Posted by FacePalmMan
ich weiss dass es für autoit die autoit section gibt, doch leider wird dort nicht auf mein anliegen geantwortet. ich vermute, dass niemand dort einen funken ahnung von sin&cos hat
Wenn ein .NET Entwickler was von AutoIT versteht, dann wird er vermutlich auch in der AutoIt Sektion unterwegs sein. Ansonsten sind die Erfolgschancen im .NET Bereich eher gering, wenn es um AutoIt geht.
Niemand ist allwissend, eventuell hilft auch ein wenig Geduld, bis eine Antwort kommt.
Zur Not: Google weiß alles.
08/17/2014 20:06 FacePalmMan#3
Quote:
Originally Posted by Terreox View Post
Falsche Sektion.


Wenn ein .NET Entwickler was von AutoIT versteht, dann wird er vermutlich auch in der AutoIt Sektion unterwegs sein. Ansonsten sind die Erfolgschancen im .NET Bereich eher gering, wenn es um AutoIt geht.
Niemand ist allwissend, eventuell hilft auch ein wenig Geduld, bis eine Antwort kommt.
Zur Not: Google weiß alles.
zu den ersten 3 sätzen: mit autoit hat es eigentlich (Wie schon gesagt) nicht wirklich was zu tun. es ist ein mathematisches problem. weil in der autoit sektion niemand antwortet und ich dringend hilfe brauche (da ich es nicht selber lösen kann) habe ich mich wohl an eine sektion von erfahreneren leuten wenden müssen.
08/17/2014 20:56 'Heaven.#4
Dann hätte ich es eher ins General Coding gepackt
08/19/2014 23:35 MrSm!th#5
Wenn es ein mathematisches Problem ist, gehört es eigentlich gar nicht in den Coders Den und das könnte man auch gut ohne eine Zeile AutoIt beschreiben.
Ich verschiebe es nun trotzdem mal in General Coding, weil dieses mathematische Problem zumindest Relevanz für den Coding Bereich hat.
08/20/2014 00:44 Black Tiger ツ#6
Du hast laut deiner Aussage eine andere Matrix genommen:

Quote:
;Setzt die position der Kamera, die kamera guckt aber zu den als letzte parameter angegebenen koordinaten Richtungen: (+X=tiefe, +Y=links, +Z=oben)
Normalerweise nimmt man 0,1,0 anstatt 0,0,1.

Das lineare Gleichungssystem ändert sich dementsprechend. Was machst du mit deiner Altitude oder Azimutalwinkel, wenn du die Kugelkoordinaten ins kartesische transformierst?
08/22/2014 22:07 FacePalmMan#7
Quote:
Originally Posted by Black Tiger ツ View Post
Du hast laut deiner Aussage eine andere Matrix genommen:



Normalerweise nimmt man 0,1,0 anstatt 0,0,1.

Das lineare Gleichungssystem ändert sich dementsprechend. Was machst du mit deiner Altitude oder Azimutalwinkel, wenn du die Kugelkoordinaten ins kartesische transformierst?
leider habe ich diese 3D engine aus dem Internet heruntergeladen und kann dir deswegen nur eins sagen: erst lasse ich die kamerarotation setzen, und dann speise ich die koordinaten e.t.c. ein. den rest macht die engine.
wenn du die 3D->2D transformation meinst, kann ich dir nur das obengenannte sagen.

ich hoffe ich konnte deine frage beantworten.

wenigstens ein beispiel wie das funktionieren würde wäre hilfreich, wie z.b:
x+(Sin(WinkelX))*Entfernung,y+(Cos(WinkelY))*Entfe rnung,z+(Sin(WinkelX))*Entfernung
(Wenn ich mich nicht irre (0,1,0 format wie du oben erwähnt hast) sollte das eigentlich funktionieren, habe aber schon so weit ich weiss alles erdenkliche ausprobiert)
08/23/2014 12:33 Shadow992#8
Ich kann mir unter der Aussage: "Welches Sachen in 3D darstellt" recht wenig vorstellen und die oben genannte Funktion kenne ich ebenfalls nicht, auch google weiß dazu nicht viel. Deswegen wird dir auch keiner helfen können, weil dein Problem keiner versteht.

Um dir zumindest allgemein zu helfen, folgende Themen sind sehr ähnlich zu deiner Problematik (vermute ich):
[Only registered and activated users can see links. Click Here To Register...]

[Only registered and activated users can see links. Click Here To Register...]