Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03230.jsonl.gz/7

JsgVect3 Vektoren lassen sich zu einem Gitter, das ist eine NxM Matrix von Vektoren, zusammenfassen. Aus einem solchen Gitter lässt sich eine DisplayList erzeugen, welche die Punkte des JsgVect3Grid zu Flächen verbindet.
JsgVect3Grid ist keine eigene Klasse sondern ein globales Objekt, welches JsgVect3Grid-Funktionen zur Verfügung stellt. Zur Manipulation von JsgVect3Grid-Objekten stehen die JavaScript Funktionen für Arrays zur Verfügung.
Funktionen mit JsgVect3Grid Objekten sind unter JsgVect3Grid Funktionen aufgeführt.
Vektoren lassen sich zu einem Gitter vom Typ JsgVect3InterGrid, das ist eine spezielle Matrix von Vektoren, zusammenfassen. Aus einem solchen Gitter lässt sich eine DisplayList erzeugen, welche die Punkte des JsgVect3InterGrid zu Flächen verbindet.
Ein VectInterGrid ist eine Matrix von Punkten in einem rechteckigen Raster. Zwischen je vier benachbarten Punkten ist jedoch ein zusätzlicher Punkt eingebaut. Die Matrix hat folgenden Aufbau:
m00 m01 m02 m03 m04 ... m0N m10 m11 m12 m13 ... m1K m20 m21 m22 m23 m24 ... m2N m30 m31 m32 m33 ... m3K : mL0 mL1 mL2 mL3 ... mLK mM0 mM1 mM2 mM3 mM4 ... mMN
Mit K = N-1 und L = M-1. Jede zweite Zeile der Matrix hat also eine Spalte weniger. Aus je 5 Punkten werden 4 Flächen generiert. Z.B:
Das JsgVect3InterGrid ist eine Erweiterung der Klasse JsgVect3Grid. Beide sind als NxM Arrays aus JsgVect3 Elementen aufgebaut. Funktionen, welche auf einem JsgVect3InterGrid basieren, interpretieren die Arrays jedoch speziell, indem einige Elemente des Arrays, welche nicht gebraucht werden, ignoriert werden.
|VectGridFrom3DFunc()||Ereugt eine JsgVect3Grid Vektor-Gitter über eine benutzerdefinierte Funktion|
|VectInterGridFrom3DFunc()||Ereugt eine spezielles JsgVect3Grid Vektor-Gitter mit Zwischenpunkten über eine benutzerdefinierte Funktion|
|JsgVect3Grid.Ok()||Gibt true zurück, wenn ein Objekt vom Typ JsgVect3Grid ist|
|JsgVect3InterGrid.Ok()||Gibt true zurück, wenn ein Objekt vom Typ JsgVect3InterGrid ist|
|JsgMat3.TransGrid()||Multipliziert ein JsgVect3Grid Vektor-Gitter mit einer JsgMat3 Matrix|
|JsgCamera.TransGrid()||Viewing-Transformation eines JsgVect3Grid Vektor-Gitters|
global JsgVect3Grid.Ok( Object )
Gibt true zurück, wenn Object definiert ist und vom Typ JsgVect3Grid ist.
Diese Funktion ist dazu gedacht, Fälle zu unterscheiden, falls eine Funktion verschiedene Argument-Typen akzeptiert.
function myFunc( arg ) { if (JsgVect3Grid.Ok(arg)) { // handle arg as a JsgVect3Grid } else { // handle arg as something else } }
JsGraph3D.VectGridFrom3DFun( Params )
}
Erzeugt ein JsgVect3Grid aus den Vektoren, welche Func beim Aufruf zurückgibt. VectGridFrom3DFunc generiert die Werte a von Min bis Max und b von Min2 bis Max2. Mit jedem dieser Wertepaare wird Func aufgerufen. Der Wert a läuft in der inneren Schleife, b in der äusseren.
Für Properties, die in Params nicht definiert sind, werden die Defaultwerte verwendet.
Die Grösse des JsgVect3Grid kann entweder durch Angabe von Steps und Steps2 (Anzahl Schritte zwischen Min und Max) oder durch Angabe von Delta und Delta2 (Schrittweite) bestimmt werden. Wird beides angegeben, hat Steps Vorrang.
Min bzw. Min2 darf grösser als Max bzw. Max2 sein. Die Werte werden immer von Min(2) nach Max(2) generiert, in diesem Falle vom grösseren zum kleineren Wert. Das Vorzeichen von Delta(2) wird ignoriert.
In Params können beliebige weitere Parameter definiert werden. Das Argument Params wird der Funktion Func übergeben. Diese kann auf die weiteren Parameter zugreifen.
global JsgVect3InterGrid.Ok( Object )
Gibt true zurück, wenn Object definiert ist und vom Typ JsgVect3InterGrid ist.
Diese Funktion ist dazu gedacht, Fälle zu unterscheiden, falls eine Funktion verschiedene Argument-Typen akzeptiert.
function myFunc( arg ) { if (JsgVect3InterGrid.Ok(arg)) { // handle arg as a JsgVect3InterGrid } else { // handle arg as something else } }
JsGraph3D.VectInterGridFrom3DFunc( aParams )
}