Quader in rotiertem Quader < Topologie+Geometrie < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) reagiert/warte auf Reaktion | Datum: | 15:07 Sa 24.08.2013 | Autor: | taugenix |
Hallo. Zermater mir gerade den Kopf über folgendes Problem:
Ich habe einen Quader mit unbekannten Dimensionen, der um eine Gerade rotiert wurde. Rotationswinkel und Gerade sind bekannt, und damit auch seine Achsenvektoren. In diesen rotierten Quader soll nun ein weiterer Quader, dessen Achsen NICHT rotiert werden (bzgl. Koordsys.), hineinpassen.
Meine Frage ist nun:Wie finde ich raus, wie groß der äußere Quader mindestens sein muss und wo sich der zweite Quader befinden muss (wo ist sein Ursprung,also wo schneiden sich seine Achsen?), damit das funktioniert.
Zur Veranschaulichung habe ich mal ein Bild angehängt. Es ist etwas missraten, aber ich hoffe es wird klar worauf ich hiunaus will.
[Dateianhang nicht öffentlich]
Dateianhänge: Anhang Nr. 1 (Typ: PNG) [nicht öffentlich]
|
|
|
|
> Ich habe einen Quader mit unbekannten Dimensionen, der um
> eine Gerade rotiert wurde. Rotationswinkel und Gerade sind
> bekannt, und damit auch seine Achsenvektoren. In diesen
> rotierten Quader soll nun ein weiterer Quader, dessen
> Achsen NICHT rotiert werden (bzgl. Koordsys.),
> hineinpassen.
>
> Meine Frage ist nun:Wie finde ich raus, wie groß der
> äußere Quader mindestens sein muss und wo sich der zweite
> Quader befinden muss (wo ist sein Ursprung,also wo
> schneiden sich seine Achsen?), damit das funktioniert.
>
> Zur Veranschaulichung habe ich mal ein Bild angehängt. Es
> ist etwas missraten, aber ich hoffe es wird klar worauf ich
> hinaus will.
>
[Dateianhang nicht öffentlich]
Hallo taugenix,
das Bild halte ich nicht wirklich für missraten.
Es fehlen mir aber gewisse zusätzliche Angaben:
1.) Was betrachtest du als gegeben ? (Ist z.B. einer
der Quader vollständig vorgegeben ?)
2.) Was verstehst du unter "hineinpassen" ?
(Soll der zweite Quader einfach vollständig im Inneren
des ersten liegen oder sollen z.B. die Ecken des zweiten
die Oberfläche des ersten berühren ?)
Im ersten Fall gäbe es natürlich jedenfalls unendlich
viele (genügend kleine) Lösungsquader.
Für ein geeignetes Koordinatensystem würde ich eigentlich
eines benützen, welches seinen Ursprung im Mittelpunkt
der beiden Quader hat - oder sollen die etwa gar nicht
übereinstimmen müssen ?
LG , Al-Chw.
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 16:58 Sa 24.08.2013 | Autor: | taugenix |
Danke erstmal für die anwort.
Vorgegeben ist der komplette innere quader. Ebenso
Ist die orientierung des äußeren quaders bekannt,d.h. die achsen die ihn aufspannen,nicht aber die längen der kanten. Die müssen nämlich so berechnet werden,dass die ecken des inneren quaders auf den flächen des äußeren liegen.
Man könnte es vielleicht auch so formulieren: Geg.ist ein quader unbekannter größe (der aüßere).dieser wird nun um die (-1,1.0)-achse um 45 grad gedreht. Bestimme die größe des quaders so,dass ein zweiter,kleinere quader mit den maßen z.b. 10*20*40 exakt in den aüßeren passt
|
|
|
|
|
> Danke erstmal für die anwort.
> Vorgegeben ist der komplette innere quader. Ebenso
> Ist die orientierung des äußeren quaders bekannt,d.h. die
> achsen die ihn aufspannen,nicht aber die längen der
> kanten. Die müssen nämlich so berechnet werden,dass die
> ecken des inneren quaders auf den flächen des äußeren
> liegen.
Hallo taugenix,
damit ist die Lage ziemlich klar. Weil die Eck-
punkte A,B,C,D,E,F,G,H des inneren Quaders
sowie die Richtungen der Kanten des äußeren
Quaders bekannt sind (die müssen durch drei
paarweise zueinander normale Vektoren [mm] \vec{u}, \vec{v}, \vec{w}
[/mm]
definiert sein), kannst du zum Beispiel so vorgehen:
Lege durch jeden der 8 Punkte eine Ebene mit
dem Normalenvektor [mm] \vec{u} [/mm] und bestimme jene
zwei davon, die den größten Abstand voneinander
haben. Diese zwei Ebenen sind dann zwei parallele
Seitenebenen des gesuchten Quaders.
Analog kannst du mit den übrigen Vektoren
verfahren.
Durch ein paar zusätzliche Überlegungen kannst
du dir die Arbeit so zurechtlegen, dass längst
nicht alle Ebenengleichungen etc. wirklich
notiert werden müssen.
LG , Al-Chw.
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 21:10 Sa 24.08.2013 | Autor: | taugenix |
Hi al-chw.
Danke für deine hilfe. Mir ist nur noch nicht ganz klar,wie ich us den jeweiligen ebenengleichungen auf die kantenlänge des äußeren quaders kommen soll.es sei denn ich
Berechne die schnittkanten.gibt es vielleicht eine offensichtlichere lösung?
|
|
|
|
|
> Hi al-chw.
> Danke für deine hilfe. Mir ist nur noch nicht ganz
> klar,wie ich aus den jeweiligen ebenengleichungen auf die
> kantenlänge des äußeren quaders kommen soll.
Das sind dann die Abstände zwischen je zwei
parallelen Begrenzungsebenen !
Mittels HNF (Hesse-Normalform) sind die sehr
leicht zu bestimmen.
LG , Al-Chw.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 22:01 Sa 24.08.2013 | Autor: | taugenix |
Stimmt ja. Da hätt ich selber drauf kommen müssen.
Danke dir für die erläuterungen
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 00:46 So 25.08.2013 | Autor: | taugenix |
Eine frage hätte ich noch;
Bekomme ich jetzt noch irgendiwe die koordinaten der eckpunkte des äußeren quaders? Ich probiere erstmal die ebenen mit den kürzesten abständen zu bestimmen, vllt.fällts mir ja während dessen ein.
|
|
|
|
|
> Eine frage hätte ich noch;
> Bekomme ich jetzt noch irgendiwe die koordinaten der
> eckpunkte des äußeren quaders? Ich probiere erstmal die
> ebenen mit den kürzesten abständen zu bestimmen,
> vllt.fällts mir ja während dessen ein.
Guten Sonntag mal !
Um vom Mittelpunkt zu einer Ecke zu kommen, gehst
du in jeder der 3 (orthogonalen) Kantenrichtungen
um einen halben Kantenvektor in die eine oder die
andere Richtung. Da du die Kantenlängen aus den
Ebenenabständen berechnen kannst, lässt sich dies
auch durchführen.
Welches genau nun der rationellste Weg für all die
Rechnungen ist, müsste ich mir aber auch noch über-
legen.
LG , Al-Chw.
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 13:35 So 25.08.2013 | Autor: | taugenix |
Schönen Sonntag ebenfalls.
Fallen die mittelpunkte der beiden quader zwangsläufig zusammen?
|
|
|
|
|
> Schönen Sonntag ebenfalls.
> Fallen die mittelpunkte der beiden quader zwangsläufig
> zusammen?
Falls der äußere Quader wirklich der kleinste sein soll,
welcher den inneren enthält: Ja
LG , Al-Chw.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 13:51 So 25.08.2013 | Autor: | taugenix |
Wunderbar.dann hab ich alles was och brauche.danke nochmal
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 17:39 So 25.08.2013 | Autor: | taugenix |
EDIT: Ich glaube es hat sich erledigt. Der Fehler war in der Normierungsfunktion, diese hat einfach den Wert gerundet. Jetzt scheint es zu passen,ich lasse den CODE aber mal stehen,falls mir irgendwas auffällt.
Habe dazu mal ein kleines Python-Skript geschrieben, um das Vorgehen zu testen. Zur besseren Lesbarkeit, schreibe ich das mal in pseudo-code:
(Gibt es hier so etwas wie ein Codeblock? befürchte,dass der Code nicht sehr leserlich sein wird)
[mm] box_x=10
[/mm]
[mm] box_y=10
[/mm]
[mm] box_z=10
[/mm]
GetDimensions():
#zuerst müssen die Kantenlängen bestimmt werden
#dazu werden Ebenen mit den Vektoren u,v,w (Achsen des äußeren Quaders)
#durch die Punkte A,B,C,D,E,F des inneren gelegt.
#Die Kombination mit den max. Ebenenabstäden sind die
#ergeben dann die jeweilige Kantenlänge
A=[0,0,0]
[mm] B=[0,box_y,0]
[/mm]
[mm] C=[box_x,box_y,0]
[/mm]
[mm] D=[box_x,0,0]
[/mm]
[mm] E=[0,0,box_z]
[/mm]
[mm] F=[0,box_y,box_z]
[/mm]
[mm] G=[box_x,box_y,box_z]
[/mm]
[mm] H=[box_x,0,box_z]
[/mm]
u=norm([1,1,-2])
v=norm([1,-1,0])
w=norm([1,1,1])
edge_list=[A,B,C,D,E,F,G,H]
#Kantenlängen
u_max=v_max=w_max=0
#HNF Ebenengleichung : [mm] r*n_0-d=0, [/mm] Gl.1
#Abstand eines Punktes p von der Ebene=s: [mm] p*n_0-d=s [/mm] Gl.2
#Zuerst wird geprüft
for edge in edge_list: #Die Liste mit den gespeicherten Eckpunkten-Koordinaten durchlaufen
r=edge #r = Ortsvektor des Eckpunkts
[mm] n_0=u [/mm] #normierter Normalenvektor == u-Achse (Vektor) des äußeren Quaders
[mm] d=dot(r,n_0) [/mm] #HNF umgeformt nach d; dot=Skalarprodukt
for edge2 in edge_list: #Innere Schleife durchläuft alle Eckpunkte
p=edge2 #p aus Gl.2 wird der Eckpunkt zugewiesen
[mm] s=abs(dot(p,n_0)-d) [/mm] #Abstand dieses Punktes vom ersten Punkt (äußere Schleife)
if s>u_max:u_max=s #der im diesen Verfahren ermittelte max. Abstand == Kantenlänge in u-Richtung
#check for v_max #Dasselbe mit dem Vektor v
for edge in edge_list:
r=edge
[mm] n_0=v
[/mm]
[mm] d=dot(r,n_0)
[/mm]
for edge2 in edge_list:
p=edge2
[mm] s=abs(dot(p,n_0)-d)
[/mm]
if s>v_max:v_max=s
#check for w_max #Dasselbe mit dem Vektor w
for edge in edge_list:
r=edge
[mm] n_0=w
[/mm]
[mm] d=dot(r,n_0)
[/mm]
for edge2 in edge_list:
p=edge2
[mm] s=abs(dot(p,n_0)-d)
[/mm]
if s>w_max:w_max=s
#Ausgabe:
print "u:"
print u,u_max
print [mm] "\n"
[/mm]
print "v:"
print v,v_max
print [mm] "\n"
[/mm]
print "w:"
print w,w_max
print [mm] "\n"
[/mm]
print [mm] "\nVol:"
[/mm]
print abs(dot(u*u_max,cross(v*v_max,w*w_max)))
#Spatprodukt, "dot()" und "*" sind beide Skalarprod. "cross(a,b)" ist Krezprod.
Ausgabe:
u:
[ 0.25 0.25 -0.5 ] 10.0
v:
[ 0.5 -0.5 0. ] 10.0
w:
[ 0.33333333 0.33333333 0.33333333] 10.0
Vol:
250.0
Demnach muss der äußere Quader genau wie der innere eine Kantenlänge von 10 haben, was eigentl. nicht stimmen kann.
Bist du sicher,dass die Ecken des inneren auf den Flächen des äußeren Quaders liegen müssen, oder habe ich irgendwo einen Fehler gemacht?
Was mich verwundert ist, dass scheinbar um einen Würfel mit der Kantenlänge 10 in einen anderen Würfel mit derselben Größe hineinpassen soll.
Dass kann doch nicht sein?
|
|
|
|
|
> Bist du sicher,dass die Ecken des inneren auf den Flächen
> des äußeren Quaders liegen müssen?
Ich habe nicht behauptet, dass alle Ecken des
inneren Quaders auf den Flächen des äußeren liegen.
LG , Al-Chw.
|
|
|
|