Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Allgemeines (OffTopic) » Berechnung

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
08.09.2005, 11:46 Uhr
~Master Don
Gast


Hallo Leute.
Hab da mal ein Problem das weniger Programmier sonder ein paar mathematische Kenntnisse verlangt. Also ich hab ein Programm geschrieben, dass immer 2 Koordinaten im Raum miteinander verbindet. Dabei ist das eine ein Sollwert und das andere ein Istwert. Um die Richtung besser kenntlich machen zu können, will ich eine Pfeilspitze anbringen. Dabei hab ich das so vor das ich wieder 2 Punkte miteinander verbinde (z.B. den Sollwert mit dem neuen Punkt den ich vorerst berechnen muss. Ich dachte mir so das ich die Länge einfach mal auf 1 festlege und eventuell, damit man auch erkennt das es ein Pfeil ist von der SollIstGeraden um 15° gedreht. Bei der 2. Linie des Pfeils natürlich genau umgekehrt, also -15°.
Kennt sich denn einer mit so Verktorrechnungen aus, und kann mir da weiter helfen?
Ich gebe auch mal ein Beispiel an:
Punkt1 (6,5,8)
Punkt2 (7,6,7) das sollen die beiden Punkte sein an der die Pfeilspitze angebracht soll.

MFG
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
08.09.2005, 14:03 Uhr
imhotep
followed the white rabbit


Du willst ein drei-dimensionalles Koorinatensystem darstellen?
In einem 2 dimensionallen wär das mit sinus und cosinus zumachen. In einem dreidimensionale ist musst du noch die Stauchung durch die 3. Dimension mit beachten.

das Prinzip im allgemeinen ist, dass eine Linie, die nach hinten geht, im winkel von 45° gezeichnet und auf die Hälfte verkürzt wird.

Am besten wär hier ne Transformationsmatrize, aber die hast du ja nicht :-)

www.koders.com
schau mal, ob du da ein projekt findest, dass sowas macht.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
08.09.2005, 15:16 Uhr
~Master Don
Gast


Ja handelt sich um ein Dreidimensionales Koordinatensystem. Würde ganz gerne die Art und Weise der Berechnung mal wissen. Irgendwie muss man die Punkte ja errechnen können oder?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
08.09.2005, 17:08 Uhr
imhotep
followed the white rabbit


Hast du Ahnung von Trigenometerie? cosinus und sinus
die Linie zwischen den Punkten zuberechnen ist da noch relativ einfach. Die beiden Punkte sind im Prinzip die beiden entfernen diagonalen Eckpunkte eines Quaders a und b


Code:
#     -------------b
#   /|           / |
#  / |          /  |
#  -------------   |
# |  |          |  |
# |   ----------|- d
# | /           | /
# |/            |/
# a-------------c



Um eine Linie zwischen beiden zu malen muss du zu erst die Koordinate von c in der unteren Ebene plus die Verschiebung nach hinten von d berechnen. Das einfachst ist sicher zu sagen, das der Winkel 45° ist und die Strecke c-d halbiert wird.
Wenn du d hast rechnest du nur noch die y-Koordinantendifferent zwischen a und b auf d und hast deine Strecke. das mit den Pfeilen und 15° neigung ist eine komplizierte Sache.

a = (xa; ya; za)
b = (xb; yb; zb)

c = (xb; ya)
x = (zb-za)/2
d = (x*cos(45°), x*sin(45°))
b' = (x*cos(45°), x*sin(45°)+yb-ya)

Ich denke so müsste es stimmen.


P.S. Man war das ne Arbeit die Zeichnung richtig aussehen zulassen, als net meckern

Dieser Post wurde am 08.09.2005 um 17:14 Uhr von imhotep editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
08.09.2005, 17:48 Uhr
~Master Don
Gast


Das ist genial. Vielen Dank.
Das hat selbst im Mathe Forum keiner erklären können.
Ich danke Dir vielmals.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
09.09.2005, 17:41 Uhr
imhotep
followed the white rabbit



Code:
#     -------------b
#   /|           / |
#  / |          /  |
#  --+----------   |
# |  |          |  |
# |   ----------+- d
# | /           | /
# |/            |/
# a-------------c



Hab da einen Fehler noch entdeckt.

a = (xa; ya; za)
b = (xb; yb; zb)

c = (xb; ya)
x = (zb-za)/2
d = (x*cos(45°), x*sin(45°)) <-- Fehler! Korrektur: d = (x*cos(45°) + xb; x*sin(45°) + ya)
b' = (x*cos(45°) +xb ; x*sin(45°) + (yb-ya) + ya) = (x*cos(45°) +xb ; x*sin(45°) + yb)

Ich übernehm keine Quarantie auf Richtigkeit

Das mit dem Pfeil machst du vielleicht am besten so, dass du neben der eigentlichen Linie 2 Punkte bestimmst und eine Linie zu deinem Endpunkt ziehst.

Dieser Post wurde am 09.09.2005 um 17:42 Uhr von imhotep editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Allgemeines (OffTopic) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: