Italia
Fonte/ Codesnippets

Koordinaten Punkt Raum

 

Peter
Mallow
Ich habe ein Punkt gegeben, der im dreidimensionalen Raum die Koordinaten x=0.6,y=0.5,z=0.5 besitzt. Ich betrachte den Raum unter einen Drehwinkel Alpha=302° und einen Neigungswinkel Betha=18°. Sind also die Blickwinkel (siehe Bild). Uch bin mir nicht sicher, wie die Winkel genau heißen.
Jetzt möchte ich die Koordinaten im zweidimensionalen Koordinatensystem berechnen, so dass Io l' Punkt im Raum auf ein Blatt Papier darstellen potuto.

In diesem Bild sieht man den Punkt im Raum mit Berücksichtigung der Blickwinkel. So stell ich mir das vor:



und jetzt möchte ich die Koordinaten des Punktes per das 2D-Koordinatensystem errechnen, die man hier im Bild ablesen potuto:



1. Habe Probleme das Problem richtig zu beschreiben, weil mir die Vorraussetzungen in Mathe noch fehlen. Wie nennt man solche Berechnungen?
2. Wie kann ich die X und Y-Koordinaten des Punktes per das zweidimensionale Koordinatensystem berechnen?
Auf die Formel per die x-Koordinate bin ich selbst durch stundenlanges testen gekommen:
x = y * cos(alpha) + x * sin(alpha)
aber den Zusamenhang per y habe ich nur zum Teil herrausgefunden:
y = -(z * cos(betha) - x * sin(betha)) <- gilt nur wenn alpha = 0

kann mir jemand bitte helfen?

(Beispiel: [...]  per das Programm GeoGabra)

85 kB
Hochgeladen:27.08.2006
Downloadcounter164
Download
28 kB
Hochgeladen:27.08.2006
Downloadcounter170
Download
 
WinXP Pro SP2, XProfan 9 + XPSE
AMD Athlon 64 X2 3800
27.08.2006  
 



Wie man das nennt? IMHO einfach nur Koordinatensystemumrechnung. Das hier sollte Dir helfen: [...] 
 
27.08.2006  
 



Nachtrag: Wenn es Dir um eine ogl -Spielerei geht dann gibts dafür Testfunktionen.
 
27.08.2006  
 




Jac
de
Lad

KompilierenMarkierenSeparieren
tmat![0,0]:=cos(alpha!)*cos(gamma!)-sin(alpha!)*sin(beta!)*sin(gamma!);
tmat![1,0]:=sin(alpha!)*cos(gamma!)+cos(alpha!)*sin(beta!)*sin(gamma!);
tmat![2,0]:=cos(beta!)*sin(gamma!);
tmat![0,1]:=-sin(alpha!)*cos(beta!)*cos(gamma!)-cos(alpha!)*sin(gamma!);
tmat![1,1]:=cos(alpha!)*sin(beta!)*cos(gamma!)-sin(alpha!)*sin(gamma!);
tmat![2,1]:=cos(beta!)*cos(gamma!);

proc calcx

    parameters x!,y!,z!
    Return xleft%+dx%*(0.5+scalx!*(tmat![0,0]*x!+tmat![1,0]*y!+tmat![2,0]*z!/(zmax!-zmin!)))

endproc

proc calcy

    parameters x!,y!,z!
    Return yleft%+dy%*(0.5-scaly!*(tmat![0,1]*x!+tmat![1,1]*y!+tmat![2,1]*z!/(zmax!-zmin!))));

endproc


Wenn ich mich nicht irre. Die Formel, leicht erweitert, verwende ich zur Darstellung der Graphen in Parcival.

xleft%,yleft%,dx%,dy% geben den Ausschnitt in einem Control an, in das gezeichnet werden soll (z.B. STATIC oder Window).
scalx! und scaly! sind die Skalierung (als Standard würde ich 0.2 empfehlen).
xmin!, xmax!, ymin!, ymax!, zmin! und zmax! sind Die Koordinaten, des 3D-Ausschnittes in dem dargestellt wird.

Die Matrix muss per jeden Winkel neu berechnet werden und die Declaration der Variablen fehlt noch!
Die Ergebisse ist der Punkt im Control, in das gezeichnet werden soll.

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
27.08.2006  
 




Peter
Mallow
erstmal danke

guck mir das beispiel von Jac noch mal genauer an
 
WinXP Pro SP2, XProfan 9 + XPSE
AMD Athlon 64 X2 3800
29.08.2006  
 




Jac
de
Lad
Bitte nich hauen, wenns nich klappt. Der Originalquellext is in Delphi, kann sein, dass ich was falsch übersetzt habe.

BTW: Wennde mal sehen willst, wie das dann aussieht, gib bei Search einfach Parcival ein, lad dir die neuste Version runter, starte das Demoprogramm und staune!

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
29.08.2006  
 



Zum Quelltext


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

7.875 Views

Untitledvor 0 min.

Themeninformationen

Dieses Thema hat 3 subscriber:

Jac de Lad (2x)
iF (2x)
Peter Mallow (2x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie