Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Do Jul 10, 2025 20:04

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Mathematisches Problem zu Vertex
BeitragVerfasst: Di Okt 21, 2003 12:36 
Offline
DGL Member

Registriert: Fr Jan 10, 2003 20:18
Beiträge: 88
Hi@All

Undswar habe ich ein mathematisches Problem:
Ich habe folgende Daten eines Punktes:

Horizontaler Winkel in dem sich das Objekt befindet;
Vertikaler Winkel in dem sich das Objekt befindet
Distanz: Abstand zu dem Punkte in die Richtung

Wir gehen mal vom Koordinaten system ursprung aus.
Die Winkel sind im Bogenmaß angegeben.

Nun meine Frage: Wie wandele ich diese Daten in einen Normalen Koordinatensystem punkt (Vertex) um?

Danke im Vorraus.

Eshat


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Okt 21, 2003 14:05 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Nov 02, 2002 18:06
Beiträge: 299
Wohnort: Dresden
Ich habs nur für einen Winkel:

Wandele das ganze in Deg um
Sin und Cos von dem Deg nehmen
2 Variablen (a und b)
a = sin * entf
b = cos * entf
x = entf - b
y = entf - a

Habs aus einer alten Klasse von mir. Versuchs mal aus.

_________________
"Ich würde ja gern die Welt verändern, aber Gott gibt mir den Quelltext nicht"


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Okt 21, 2003 14:10 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 20, 2003 09:15
Beiträge: 70
Wohnort: Italien
Das muss man, soweit ich weis, mit Hilfe einer (3x3)Matrix berechnen(so wie das auch die Grafikkarte intern macht), die je nach Winkel anders ist.
Siehe dazu das Mathe-tutorial von DGL:

Du multiplizierst den Vektor (<radius>,0,0) mit dieser Matrix und erhälst deinen Punkt.

wenn es dein Problem erlaubt, kannst du die Berechnung direkt der GraKa überlassen.

P.S: An HomerS: die Formel(n) für einen Winkel wären so einfacher:

x = cos * entf
y = sin * entf

_________________
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt" Albert Einstein


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Okt 21, 2003 16:06 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mai 06, 2002 20:27
Beiträge: 479
Wohnort: Bremen
Erkläre mal genauer was du unter einem horizontalen Winkel verstehst! Relativ zu welchen Achsen/Ebenen sind die Winkel angegeben?

_________________
Selber Denken macht klug!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 22, 2003 09:01 
Offline
DGL Member

Registriert: Fr Jan 10, 2003 20:18
Beiträge: 88
Danke für die Antworten.

@Lith:
Ich glaube(bin mir nicht sicher) der Horizontale Winkel gibt den Winkel zwischen y-Achse und Richtung des Vertex an.
Der Vertikale Winkel gibt den Winkel zwischen x-Achse und Richtung an.
Probiere jetzt mal die Lösungsvorschläge aus.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 22, 2003 13:21 
Offline
DGL Member

Registriert: Fr Jan 10, 2003 20:18
Beiträge: 88
Hi hab jetzt die Infos bekommen:

Horizontalwinkel = Drehung um die z-Achse
Vertikalwinkel ist die Neigung, d.h. also zwischen der xy-Ebene und der
z-Achse.

Wie bekomme ich jetzt alle drei Positionen mit Sin und Cos gehts nicht, da ich dort keine z-Pos habe.

@Lith kannst du jetzt villeicht helfen? *hilfe suchend*


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 22, 2003 17:01 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 28, 2002 19:27
Beiträge: 568
Wohnort: Chemnitz / Sachsen
also so wie du das beschreibst, kann es sich eigentlich nur noch um polarkoordinaten handeln. (Punkte auf einer Kugel mit dem Radius r)

da jeder ein tafelwerk / eine formelsammlung zuhause hat, ist es eigentlich schnell nachzuschauen, da gibt es das unter vektorrechnung / lineare algebra (?).

ich brauchte das auch vor kurzem, habs aber leider nicht mehr im kopf.
ist aber an sich ganz einfach !!!

_________________
Aktuelles Projekt :
www.PicPlace.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 22, 2003 19:48 
Offline
DGL Member

Registriert: Fr Jan 10, 2003 20:18
Beiträge: 88
Hab grad in meiner Formel sammlung rumgestöbert allerdings nur für 2D gefunden und das ganze bereitet mir große Probleme

Hab zwar Mathe als LK aber liegt wahrscheinlich daran dass ich ferien hab und andere dinge zur zeit mein Gehirn beanspruchen(Partys,Sex,Musik,Basketball)

:lol:

KAnn niemand ein einfaches Beispiel geben oder sind alle Denkfaul(wie ich)???

PLEASE HELP ME


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 22, 2003 23:05 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mai 06, 2002 20:27
Beiträge: 479
Wohnort: Bremen
Okay, es ist spät und ich bin nicht mehr ganz wach/nüchtern, aber ich bin mir trotzdem ziemlich sicher, dass sich mit deiner Problembeschreibung nicht viel anfangen lässt:

"Vertikalwinkel ist die Neigung, d.h. also zwischen der xy-Ebene und der
z-Achse." ---> Demnach wäre der Winkel immer 90° denn die z-Achse steht nunmal senkrecht auf der xy-Ebene. Immer!

Egal... im prinzip musst du den X-Vektor nehmen und um den Horizontalwinkel um die z-Achse drehen. Das machst du z.B. über Sin/Cos oder über eine geeignete Matrix. Dann kommt es drauf an zu welcher Achse der Vertikalvektor denn nun angegeben wird. Jedenfalls bildest du zwischen dem soeben transformierten X-Vektor (v) und eben dieser Achse ein Kreuzprodukt und rotierst dann v um denn Ergebnissvektor des Kreuzprodukts, so das er im richtigen Winkel steht. Jetzt sollte er in die richtige Richtung zeigen... und mit einer skalierung um den Betrag der Distanz hast du den Ortsvektor für deinen Punkt.

Hoffe das hilft!

-lith

_________________
Selber Denken macht klug!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 23, 2003 07:24 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 28, 2002 19:27
Beiträge: 568
Wohnort: Chemnitz / Sachsen
schau mal nach, das war ungefähr so :

a --> horizontaler winkel
b --> vertikaler winkel

x := r*sin(a)*cos(b);
y := r*cos(a)*sin(b);
z := sin(a); oder cos(b) oder irgendwie so bei z weis ichs ne genau.

PS : hab auch ma-LK aber, da hatten wir das auch noch ne und ich habs trotzdem im tafelwerk gefunden (bei mir stehts in irgendeiner ecke!!)

_________________
Aktuelles Projekt :
www.PicPlace.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 23, 2003 20:01 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mai 06, 2002 20:27
Beiträge: 479
Wohnort: Bremen
*klick* Ach, du meinst wohl Kugelkoordinaten? Nun, ich weiß zwar immer noch nicht zu welcher Achse der horizontale bzw Winkel bei dir angegeben ist, aber bei uns in der Schule war's so, dass der horizontale Winkel (alpha) zur X-Achse und der vertikale (beta) zur Z-Achse angegeben wurde. (in OpenGL ist das Koordinatensystem ander gedreht!) dann kannst du den Vektor bestimmen in dem du rechnest
v = Länge * sin beta * cos alpha * (1,0,0)
+ Länge * sin beta * sin alpha * (0,1,0)
+ Länge * cos beta * (0,0,1)

Hoffe, das wars nun! ;)

_________________
Selber Denken macht klug!


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 9 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.017s | 15 Queries | GZIP : On ]