Autor |
Beitrag |
M. Raab
      
Beiträge: 334
Erhaltene Danke: 1
WIN 7
Delphi XE
|
Verfasst: Di 07.09.04 15:27
Hallo NG,
ich habe ein mathematisches Problem, mit dem ich nicht weiter komme . vielleicht kann mir jemand helfen.
Folgendes Problem:
> Man bohrt ein Loch in den Boden. Das Loch hat eine bestimme Neigung und eine
> bestimmte Richtung gegen Norden. Wenn man fertig ist, vermisst man das Loch
> mittels einer Sonde um festzustellen, wie das Loch von der Sollrichtung und
> Neigung abweicht. Die Sonde liefert z.B. folgende Daten:
>
> 000.4,231.5,22.13,1,9
> 003.1,230.7,23.04,1,9
> 006.0,233.8,23.03,1,9
> 009.0,237.9,23.38,0,9
> 011.9,238.4,24.29,1,9
> 015.0,238.8,23.82,0,9
> 017.9,243.4,24.40,1,9
> 021.1,249.1,27.85,1,9
> 023.9,253.4,27.08,1,9
> 24.7,254.2,26.72,1,9
>
>
> Erklärung im obigen Beispiel:
>
> 024.7,254.2,26.72,1,9
>
> 24.7 m bedeutet Tiefe
> 254.2 bedeutet Horizontalwinkel
> 26.72 bedeutet Vertikalwinkel
> mathematischer Drehsinn
> die beiden letzten Daten sind unwichtig.
>
>
> Die Soll-Neigung wäre z.B. gewesen: 20°.
> Die Soll-Richtung wäre z.B. gewesen: 231.5° (im mathematischen Sinne gegen
> NORDEN)
>
> Die Sonde hat einen Kompas eingebaut, der gegen Norden misst, die Daten aber
> im mathematischen Sinne liefert - NORD wäre also 90°.
>
> Gesucht wäre jetzt die Abweichung der Sonde in (würde man die xy-Ebene
> betrachten) x und y Richtung.
>
> Man könnte nun alles in x und y projizieren und dann ganz einfach die x und
> y Koordinaten bestimmen - aus SOll und IST ergäbe sich dann die Abweichung
> in den einzelnen Richtungen. Aber: man berücksichtig dabei nicht, dass sich
> die Sonde ja in der tatsächlichen Tiefe mit der tatsächlichen Neigung
> befindet. Im obigen Beispiel hat die Sonde zum Schluss eine tatsächliche
> Neigung von 26.72° bei einer Tiefe von 24.7 m - hätte die Sonde 20° gemessen
> und wäre somit die Sollneigung eingehalten, wäre sie nicht so tief.
>
Man muss die Sache wohl vektoriell betrachten und mit dem Kompass ein Koordinatensystem aufstellen. Dann einen Vektor mit der Sollrichtung und Sollneigung berechnen und dann die tatsächlichen Tiefen berücksichtigen. Daraus sollte ein Soll-Vektor entstehen, der dann mit dem tatsächlichen Vektor verglichen werden kann. Man betrachtet dann die Abweichung der x und y Komponente ---- so weit die Theorie, denke ich
> Vielleicht kann jemand helfen -
>
> Markus
>
>
>
_________________ Das Leben besteht aus Bits und Bytes - nur: wo laufen sie denn ????
Super ... Du kannst das zwar lesen, toll..... aber: völlig zwecklos !!!
|
|
.Chef
      
Beiträge: 1112
|
Verfasst: Di 07.09.04 16:41
Ich könnte wohl helfen. Dafür musst du aber genauere Angaben machen: Wie liegen in der dreidimensionalen Welt deine zwei Ebenen x und y? Was bedeutet "im mathematischen Sinn"?
Vielleicht hast du ein Bild oder kannst auch eine Zeichnung einscannen.
Gruß,
Jörg
_________________ Die Antworten auf die 5 häufigsten Fragen:
1. Copy(), Pos(), Length() --- 2. DoubleBuffered:=True; --- 3. Application.ProcessMessages bzw. TThread --- 4. ShellExecute() --- 5. Keine Vergleiche von Real-Typen mit "="!
|
|
M. Raab 
      
Beiträge: 334
Erhaltene Danke: 1
WIN 7
Delphi XE
|
Verfasst: Di 07.09.04 18:51
Hallo @ Chef,
zuerst mal vielen Dank für Deine Antwort - das hat mich wirklich sehr gefreut.
Im mathematischen Sinne bedeutet: der Drehsinn aller Winkel ist gegen den Uhrzeigersinn. Der mangnetische Nordpol liegt bei 90°, Osten läge somit bei 0° bzw. 360°. Folgende Skizze soll es nochmals verdeutlichen:
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| 90° = Norden | | | 180° ------------------ 0° / 360° | | | 270° = Süden |
Die 3D Welt der Sonde ist wie folgt definiert:
Auf Grund der Schwerkraft fällt die Sonder immer senkrecht nach unten. Dies stellt die z-Achse meines Koordinatensystems dar und ist der Bezugspunkt für den Vertikalwinkel. Die z-Achse steht nun senkrecht auf der xy-Ebene - die xy Ebene ist somit meine "Ebene". Diese Ebene ist ausgerichtet nach dem Horzontalwinkel, der bei NORD = 90° hat und somit die y-Achse repräsentiert - die y-Achse zeigt somit nach NORDEN oder in Richtung von 90°. Die x-Achse hat nun einen 90° Winkel zur y-Achse. Dies stellt mein 3D Bezugs-Koordinatensystem dar.
Falls noch was unklar ist, versuche ich eine Zeichnung zu machen.
Gruss und Vielen Dank
Markus
Moderiert von tommie-lie: "Skizze" mit einem Fixed-Width-Font ausgestattet 
_________________ Das Leben besteht aus Bits und Bytes - nur: wo laufen sie denn ????
Super ... Du kannst das zwar lesen, toll..... aber: völlig zwecklos !!!
|
|
.Chef
      
Beiträge: 1112
|
Verfasst: Mi 08.09.04 00:56
Etwas hatte ich noch vergessen zu fragen: Was ist der Referenzwert - die Tiefe der Sonde oder die Länge des Lochs?
Eigentlich egal, denn ich erklär jetzt mal, wie du mit Hilfe der Winkelwerte und der Tiefe auf x und y in der "z=0"-Ebene kommst:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure xyprojektion(var x,y : Real; neigung, richtung, tiefe : Real); var radius : Real; begin radius:=tan(neigung*pi/180)*tiefe; x:=sin(richtung*pi/180)*radius; y:=cos(richtung*pi/180)*radius; end; |
Zuerst wird das Ende des Lochs auf z=0 gebracht und dessen Abstand in der Ebene vom Eintrittspunkt bestimmt (radius). Dieser Abstand ist gleichbedeutend mit der Hypotenuse eines rechtwinkligen (imaginären) Dreiecks. Deswegen kann man mit Hilfe der Winkelsätze fürs Dreieck die x und y Koordinaten berechnen.
Das brauchst du jetzt nur für Soll und Ist zu machen und dann zu vergleichen.
Wenn nicht klarkommst mit der Lösung, frag einfach nochmal.
_________________ Die Antworten auf die 5 häufigsten Fragen:
1. Copy(), Pos(), Length() --- 2. DoubleBuffered:=True; --- 3. Application.ProcessMessages bzw. TThread --- 4. ShellExecute() --- 5. Keine Vergleiche von Real-Typen mit "="!
|
|
M. Raab 
      
Beiträge: 334
Erhaltene Danke: 1
WIN 7
Delphi XE
|
Verfasst: Sa 11.09.04 14:13
Hallo @.chef,
kann so nicht stimmen - ich habe mir am Freitag mal einen neuen Datensatz und die zugehörigen Ergebnisse geholt - leider kenn ich den Weg zu den Ergebnissen dorthin nicht und man erzählt es mir auch nicht.
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| Tiefe Horizontal Vertikal seitliche Abweichung (X) Abweichung Senkrechte winkel winkel=Neigung (y) 3m 238 24 -0,04 1,22 6m 241,2 25,2 -0,02 2,50 9m 240,0 21,9 -0,02 3,62
senkrechte Tiefe 3m 2,74 (die senkrechten Tiefen erhält man durch Aufsummieren der einzelnen 6m 5,46 Messabschnitte) 9m 8,24
Soll-Horzontalwinkel: 240°, Soll-Vertikalwinkel: 20°. |
Würde man eine senkrechte Linie zeichnen (y-Achse) und bei den entsprechenden senkrechten Tiefen die Abweichung zur Senkrechten eintragen, ergäbe sich ein Profil welches den Verlauf des Loches nach vorne wiedergibt. Trägt man dann den Sollverlauf ein (20°) Neigung, bekommt man die Abweichung. Das ganze kann man auch mit der seitlichen Abweichung machen: man zeichnet eine senkrechte Linie und bekommt die Abweichungen: negative Werte können also einen Verlauf nach links bedeuten.
Gruss
Markus
_________________ Das Leben besteht aus Bits und Bytes - nur: wo laufen sie denn ????
Super ... Du kannst das zwar lesen, toll..... aber: völlig zwecklos !!!
|
|
.Chef
      
Beiträge: 1112
|
Verfasst: Sa 11.09.04 17:12
Du musst irgendwas falsch erklärt haben, denn bei den gegebenen Werten erreichst du niemals eine y-Abweichung von 1,22m(!) in 3m Tiefe, während die x-Abweichung nur 4cm beträgt. Überleg doch mal, bei drei Metern Tiefe schon um 'nen anderthalben Meter abweichen, da brauch ich doch keine Sonde, da bin ich mitm Spaten genauer. Steig deiner Abteilung für Messwerte mal aufs Dach, die sollen das gefälligst richtig erklären. Ich werde da nicht schlau draus.
_________________ Die Antworten auf die 5 häufigsten Fragen:
1. Copy(), Pos(), Length() --- 2. DoubleBuffered:=True; --- 3. Application.ProcessMessages bzw. TThread --- 4. ShellExecute() --- 5. Keine Vergleiche von Real-Typen mit "="!
|
|
M. Raab 
      
Beiträge: 334
Erhaltene Danke: 1
WIN 7
Delphi XE
|
Verfasst: Sa 11.09.04 17:31
Hallo,
nö nö, die Werte sind schon richtig ---- die gehen einfach her und berechnen die tatsächliche Abweichung nach vorne: die soll mal 1.22m sein, was auch richtig ist. Hätte man die richtige Neigung eingehalten, wäre die Abweichung aus der Senkrechten z.B. nur 1.15m -- die Abweichung beträgt somit 0.07m.
Gruss
Markus
_________________ Das Leben besteht aus Bits und Bytes - nur: wo laufen sie denn ????
Super ... Du kannst das zwar lesen, toll..... aber: völlig zwecklos !!!
|
|
.Chef
      
Beiträge: 1112
|
Verfasst: Sa 11.09.04 17:45
Einerseits ist das Problem, dass du nicht begriffssicher bist. Lege dich bitte fest, was eine Abweichung und was ein Absolutwert ist.
Andererseits: Dann kann das bei x aber nicht hinhauen, denn ein Richtungswinkel von 238 Grad ist "halbschräg". Und da müssten die Absolutwerte x und y in etwa der selben Größenordnung liegen (Verhältnis ca. 1:2).
Festlegung: Absolutwerte sind reine x und y Werte vom Koordinatenursprung aus gesehen. Abweichungen sind die Differenzen der Absolutwerte von SOLL und IST.
_________________ Die Antworten auf die 5 häufigsten Fragen:
1. Copy(), Pos(), Length() --- 2. DoubleBuffered:=True; --- 3. Application.ProcessMessages bzw. TThread --- 4. ShellExecute() --- 5. Keine Vergleiche von Real-Typen mit "="!
|
|
M. Raab 
      
Beiträge: 334
Erhaltene Danke: 1
WIN 7
Delphi XE
|
Verfasst: So 12.09.04 09:32
Hallo @.Chef,
das mit meinen Begriffen - da has Du recht  Da bring ich mal (aber nur im Eifer des Gefechts) was durcheinander.
So, etwas habe ich nun rausgefunden:
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| gemessene Tiefe Vertikalwinkel
3m 24 6m 25,2
berechnete senkrechte Tiefen:
Tiefe 3 m, 24° Neigung --> cos(24)*3 = 2.7406m Tiefe 6 m, 25.2° Neigung --> cos(25.2)*(6m-3m)+2,7406 = 5.4551m
Ist-Position:
Tiefe 3 m, 24° Neigung --> sin(24)*3 = 1.2202m Tiefe 6 m, 25.2° Neigung --> sin(25.2)*(6m-3m)+1.2202 = 2.4975m
Die Abweichung würde man jetzt erhalten, wenn man statt den Ist-Vertikalwinkel den Soll-Vertikalwinkel (20°) eingeben würde und die Differenz betrachtet. |
Nur die seitlichen Werte leuchten mir überhaupt nicht ein und ich kann sie auch nicht nachvollziehen.
Gruss
Markus
_________________ Das Leben besteht aus Bits und Bytes - nur: wo laufen sie denn ????
Super ... Du kannst das zwar lesen, toll..... aber: völlig zwecklos !!!
|
|
M. Raab 
      
Beiträge: 334
Erhaltene Danke: 1
WIN 7
Delphi XE
|
Verfasst: So 12.09.04 13:02
Titel: LÖSUNG ? - mathematisches Problem
Hallo @.Chef,
ich habe mich nun wieder mit dem Problem beschäftigt und offenbar eine
Lösung gefunden:
Wenn die Sonde nach unten zeigt, alle Richtungen sauber eingehalten
werden würden und man ein x/y/z-Koordinatensystem betrachtet, würde die
Sonde in y-Richtung zeigen und eine gewisse Neigung haben. Die Sonde wäre
mit der y-Achse deckungsgleich - aus der Vogelperspektive betrachtet, mal
bildlich gesprochen.
Hält sie jetzt aber die Richtung nicht ein, weicht sie
von der y-Achse ab - wieder von oben betrachtet. Wenn man das also in die
x/y Ebene projizieren will, muss man zunächst den neuen (also mit der
Horizontalabweichung) y-Abschnitt berechnen: ich nenn den mal Theta Y = y'
Quelltext 1: 2: 3: 4: 5: 6:
| y' = DEPTH * sin (Vertikalwinkel)
Nun berechnen wir den entsprechend dazugehörenden x Abschnitt:
x = tan(Horizontalwinkelabweichung je Messabschnitt)*y' = tan(...)*DEPTH*sin(Vertikalwinkel) |
Summiert man diese Abweichungen nun auf, erhält man das "Wandern" des
Bohrloches aus der Vogelperspektive in der x/y Ebene in Richtung der x-Achse
- die Sollrichtung wäre ja die y-Achse.
Was hältst Du davon ???
Gruss
Markus
_________________ Das Leben besteht aus Bits und Bytes - nur: wo laufen sie denn ????
Super ... Du kannst das zwar lesen, toll..... aber: völlig zwecklos !!!
|
|
.Chef
      
Beiträge: 1112
|
Verfasst: Mo 13.09.04 10:28
Scheint hinzuhauen ... 
_________________ Die Antworten auf die 5 häufigsten Fragen:
1. Copy(), Pos(), Length() --- 2. DoubleBuffered:=True; --- 3. Application.ProcessMessages bzw. TThread --- 4. ShellExecute() --- 5. Keine Vergleiche von Real-Typen mit "="!
|
|
|