Vorheriges Thema

XYZCopyConfig

Nächstes Thema

XYZCreateFromMatrix

Diese Seite

XYZCreate

XYZCreate erzeugt einen 3D-Datensatz. Die Daten können entweder als XYZ-Tripel oder als Matrix vorliegen.Die XYZ-Tripel können beliebig in der XY-Ebene verteilt sein. Es sind mindestens 3 Koordinaten-Tripel erforderlich, um einen 3D-Datensatz erzeugen zu können. Aus den XYZ-Tripeln wird durch Interpolation eine Z-Matrix berechnet.

hData = XYZCreate(ssName, rvX, rvY, rvZ)
hData = XYZCreate(ssName, rvX, rvY, rvZ, bIsoScale)
hData = XYZCreate(ssName, rvX, rvY, rvZ, bIsoScale, svWOT)
hData = XYZCreate(ssName, rvX, rvY, rmZMatrix)
hData = XYZCreate(ssName, rvX, rvY, rmZMatrix, bIsoScale)
hData = XYZCreate(ssName, rmZMatrix, rvRect)

Returnwert

hData ist die Zugriffsnummer (Handle), mit der auf den Datensatz zugegriffen werden kann. Falls der Datensatz nicht erzeugt werden kann, ist hData gleich 0.

Parameter

ssName

ssName ist ein skalarer String.

rvX

rvX ist ein Vektor mit den X-Koordinaten.

rvY

rvY ist ein Vektor mit den Y-Koordinaten.

rvZ

rvZ ist ein Vektor mit den Z-Koordinaten.

rmZMatrix

rmZMatrix ist eine Matrix mit den Z-Koordinaten. Falls die Abstände der Matrixspalten und -zeilen konstant sind, können die x/y-Koordinaten der Matrix über den Parameter rvRect festgelegt werden. Wenn die Abstände der Spalten oder Zeilen nicht konstant sind, werden die Koordinaten über die Parameter rvX und rvY festgelegt. In diesem Fall ist der Parameter rvX ein Vektor mit den X-Koordinaten der Matrixspalten und rvY ein Vektor mit den Y-Koordinaten der Matrixzeilen. In diesem Fall wird keine Interpolation durchgeführt.

rvRect

rvRect legt der Wertebereich der Z-Matrix in der XY-Ebene fest.

Wert Bedeutung
rvRect[1] xmin der ersten Matrix-Spalte
rvRect[2] ymin der ersten Matrix-Zeile
rvRect[3] xmax der ersten Matrix-Spalte
rvRect[4] ymax der letzten Matrix-Zeile
bIsoScale

bIsoScale hat den Wert TRUE (1), wenn für den Datensatz automatisch Isolinien erzeugt werden sollen und FALSE (0), wenn keine Isolinien erzeugt werden sollen. Falls die Funktion mit vier Parametern aufgerufen wird, wird für bIsoScale TRUE verwendet.

svWOT

svWOT ist ein String-Vektor, der die Volllastlinie festlegt. Jedes Vektorelement besteht aus einem Zeichen und kann die Werte "a", "e", "v", "A", "E", "V", "" annehmen. Die Zeichen haben folgende Bedeutung:

Wert Bedeutung
“a” Anfang der Volllastlinie ohne Beschriftung.
“e” Ende der Volllastlinie ohne Beschriftung.
“v” Punkt gehört zur Volllastlinie und wird nicht beschriftet.
“A” Anfang der Volllastlinie mit Beschriftung.
“E” Ende der Volllastlinie mit Beschriftung.
“V” Punkt gehört zur Volllastlinie und wird beschriftet.
“” (leerer String) Punkt gehört nicht zur Volllastlinie.

Kommentar

Bei XYZ-Tripeln müssen die Vektoren alle die gleiche Anzahl an Elementen haben. Die Punkte dürfen in der x,y-Ebene beliebig verteilt sein. Doppelte Datenpunkte, d.h. Punkte mit den gleichen x,y-Koordinaten werden automatisch entfernt. Es sind mindestens 3 Punkte erforderlich.

Wenn der Datensatz von einer Matrix erzeugt wird, sollen die Vektoren rvX und rvY aufsteigend sortiert sein. Falls das nicht der Fall ist, werden die Vektoren aufsteigend sortiert. Die Matrix wird entsprechend mit sortiert.

Wenn der Datensatz von einer Matrix erzeugt wird, kann die Hülle mit Hilfe der Funktion XYZSetHullNewData definiert werden.

Wird die Funktion ohne den Parameter svVolllast aufgerufen, wird eine konvexe Hülle berechnet.

Beispiel

Das folgende Beispiel können Sie in einen Editor kopieren (Datei=>Neu [Programm Editor]) und dann den Befehl UniScript=>Speichern/Ausführen ausführen.

Es wird eine 2 mal 3 Matrix erzeugt. (Die x-Koordinaten legen die Spalten fest und y-Koordinaten legen die Zeilen der Matrix fest.)

x = [1, 1.5, 2]
y = [1, 5]
z = [1, 1, 3;
     1, 2, 3]
hData = XYZCreate("Test", x, y, z);
if (hData == 0) {
    error();
}
hLayer = LayerCreate();
hDoc = DocCreate();
hPage = PageCreate();
DocAddPage(hDoc, hPage);
PageAddLayer(hPage, hLayer);
LayerAddDataset(hLayer, hData);
LayerAutoScale(hLayer);
PageReplot(hPage);

History

Version Beschreibung
5.3.4 Aufruf mit drei Parametern korrigiert: XYZCreate(ssName, rmZMatrix, rvRect).

id-428507