Ausgleichende Ebene im Gauß-Helmert-Modell

Vorwort

Im Rahmen dieses Artikels soll die korrekte Anwendung des Gauß-Helmert-Modells anhand der Bestimmung ausgleichender Ebenen vorgeführt werden. Grundlegendes zur Methode der kleinsten Quadrate finden Sie (hier). Eine allgemeine Herleitung des Gauß-Helmert-Modells kann (hier) nachgelesen werden.

Weiterlesen

Untersuchung von Registrierungsverfahren hinsichtlich des Einsatzes terrestrischer Laserscanner in der Deformationsmessung

Nach einer Einführung zum Einsatz des terrestrischen Laserscannings in der Deformationsmessung werden aktuelle Registrierungsverfahren kurz vorgestellt. In einer Laboruntersuchung wird dann das Genauigkeitspotenzial der eingesetzten Laserscanner hinsichtlich der Erkennung von Objektverschiebungen untersucht. Im Anschluss daran wird in einer weiteren Laboruntersuchung der Einfluss unterschiedlicher Registrierungsverfahren auf die Erkennung von Objektverschiebungen festgestellt. Ein ausgewähltes Registrierungsverfahren wird dann im Baustelleneinsatz untersucht. In allen Untersuchungen wird die innere Genauigkeit durch die Modellierung des verschobenen Objektes durch eine ausgleichende Ebene
erhöht. Zur Beurteilung der äußeren Genauigkeiten werden die Sollwerte für die Objektverschiebungen
mit einer Feinmessuhr erfasst.

Lesen Sie hierzu den vollständigen Artikel:

Neitzel, F.; Mordwinzew, W.; Lerche, C. (AVN2010)
Neitzel, F.; Mordwinzew, W.; Lerche, C. (Manuskript)
Neitzel, F.; Mordwinzew, W.; Lerche, C. (Folien)

Algorithmus zum sortieren eines Tripels

Die nachfolgende Publikation befasst sich mit dem sortieren von Tripeln T = {a,b,c}. Wobei a,b,c ihrer Größe nach sortiert werden sollen.

Angenommen es soll ein Array s[i] mit drei Elementen sortiert werden. Wobei i die aktuelle Position des Arrays von 0 bis 2 darstellen soll.

Dann ist der größte Betrag max:

max = (s[0] > s[1]) ? ( (s[0] > s[2]) ? s[0] : s[2] ) : ( (s[1] > s[2]) ? s[1] : s[2] );

mit der Position:

maxi = (s[0] > s[1]) ? ( (s[0] > s[2]) ? 0 : 2 ) : ( (s[1] > s[2]) ? 1 : 2 );

und der kleinste Betrag entsprechend:

min  = (s[0] < s[1]) ? ( (s[0] < s[2]) ? s[0] : s[2] ) : ( (s[1] < s[2]) ? s[1] : s[2]);

mit der Position:

mini =  (s[0] < s[1]) ? ( (s[0] < s[2]) ? 0 : 2 ) : ( (s[1] < s[2]) ? 1 : 2 );

Der die letzte gebliebene Position kann wie folgt ausgerechnet werden:

midi = 3 – (mini+maxi);

mit dem dazugehörigen Wert s[midi]

Beweis:

mini  = 0
maxi = 1
midi = 3 – (1+0) = 2
mini  = 1
maxi = 2
midi = 3 – (1+2) = 0
mini  = 2
maxi = 0
midi = 3 – (2+0) = 1

Code herunterladen:

maxmidmin.c
/*
	Mordwinzew Waldemar 31.10.2009
	Dieser Algorithmus gibt den groessten, 
	zweitgroessten und den kleinsten Wert aus.
 
	v1.01
 
	http://www.mordwinzew.de/artikel/algorithmen/tripel-sortieren
 
*/
 
#include <time.h>
#include <stdio.h>
 
int main()
{
	unsigned int mini,midi,maxi,min,mid,max;
	unsigned int s[3];
	srand(time(NULL));
	s[0] = rand() %100 +1;
	s[1] = rand() %100 +1; 
	s[2] = rand() %100 +1;
 
	// maximaler Betrag:
	max =   (s[0] > s[1]) ? ((s[0] > s[2]) ? s[0] : s[2]) : ((s[1] > s[2]) ? s[1] : s[2]);
	// Position:
	maxi =  (s[0] > s[1]) ? ((s[0] > s[2]) ? 0 : 2) : ((s[1] > s[2]) ? 1 : 2);
 
	// minimaler Betrag:
	min  =  (s[0] < s[1]) ? ((s[0] < s[2]) ? s[0] : s[2]) : ((s[1] < s[2]) ? s[1] : s[2]);
	// Position: 
	mini =  (s[0] < s[1]) ? ((s[0] < s[2]) ? 0 : 2) : ((s[1] < s[2]) ? 1 : 2);
 
	// Die uebriggebliebene Position kann wie folgt berechnet werden:
	midi = 3 - (mini+maxi);
	// mit dem dazugehoerigen Wert:
	mid = s[midi];
 
	printf("s[0]: %i\ns[1]: %i\ns[2]: %i\n\n",s[0],s[1],s[2]);
	printf("max: %i\t maxi: %i\n",max,maxi);
	printf("mid: %i\t midi: %i\n",mid,midi);
	printf("min: %i\t mini: %i\n",min,mini);
 
	// Warte auf die Eingabetaste
	setvbuf(stdin,NULL,_IONBF,0); 
	setvbuf(stdin,NULL,_IOFBF,BUFSIZ); 
	getchar(); 
 
	return 0;
}

3D Plot mit Excel – Crashkurs Rotationsmatrizen

Visualisierung einer Kugel in Excel

Visualisierung einer Kugel in Excel


 

Visualisierung von 3D Koordinaten ist in Excel nicht ohne weiteres möglich. Ein Ansatz diesem Problem Herr zu werden sind 3D zu 2D Transformationen. Herleitung der Formeln zur Projektion eines 3D Objektes in eine 2D Ebene z. B. KRAUSS (2004)1 entnommen werden. Eine Beispielimplementierung solcher Projektion kann dieser Publikation entnommen werden.

Dieses Dokument basiert auf den Arbeiten von Andy Pope2. Inspiriert durch den 3D XY Scatter Chart3 wird Popes urpsrünglich publiziertes Dokument erweitert um die Funktionsweise von Rotationsmatrizen näher zu erläutern.

Die Tabelle “plane” geht hierbei zunächst auf die ebene Rotation und deren Realisierung ein. Die Tabelle “spatial (cube)” geht zu räumlichen Rotationen über. Hierzu wird eine simple Box visualisiert. Ein erweitertes Beispiel zur Visualisierung von Kugelparametern kann in der Tabelle “spatial (sphere)” gefunden werden. Alle Tabellen sind bewusst ohne VBA Code realisiert.

Hier herunterladen:
Excel Sheet - Rotationsmatrizen

  1. KRAUS, K., (2004): Photogrammetrie 1: Geometrische Informationen Aus Photographien Und Laserscanneraufnahmen. de Gruyter Verlag []
  2. http://www.andypope.info/ []
  3. http://www.andypope.info/charts/3drotate.htm []