Autor Beitrag
M. Raab
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 334
Erhaltene Danke: 1

WIN 7
Delphi XE
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1112



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 334
Erhaltene Danke: 1

WIN 7
Delphi XE
BeitragVerfasst: 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:

ausblenden 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 user profile icontommie-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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1112



BeitragVerfasst: 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:
ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 334
Erhaltene Danke: 1

WIN 7
Delphi XE
BeitragVerfasst: 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.

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1112



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 334
Erhaltene Danke: 1

WIN 7
Delphi XE
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1112



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 334
Erhaltene Danke: 1

WIN 7
Delphi XE
BeitragVerfasst: So 12.09.04 09:32 
Hallo @.Chef,


das mit meinen Begriffen - da has Du recht :oops: Da bring ich mal (aber nur im Eifer des Gefechts) was durcheinander.

So, etwas habe ich nun rausgefunden:

ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 334
Erhaltene Danke: 1

WIN 7
Delphi XE
BeitragVerfasst: 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. :D

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'

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1112



BeitragVerfasst: Mo 13.09.04 10:28 
Scheint hinzuhauen ... :gruebel:

_________________
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 "="!