WaBis

walter.bislins.ch

JSGX3D: JsgVect3List

JsgVect3List Klasse

JsgVect3List = Array of JsgVect3

Ein Objekt der Klasse JsgVect3List ist ein Array von JsgVect3 Elementen. JsgVect3List ist keine eigene Klasse. Zur Manipulation stehen die JavaScript Funktionen für Arrays zur Verfügung.

Funktionen mit JsgVect3List Objekten sind unter JsgVect3 Funktionen aufgeführt.

JsgVect3List Funktionen

VectListFromFunc() Ereugt eine Liste von 3D-Punkten bzw. 3D-Vektoren JsgVect3List über eine benutzerdefinierte Funktion
PolygonFromFunc() Ereugt JsgPolygon über eine benutzerdefinierte Funktion
JsgVect3List.Ok() Gibt true zurück, wenn ein Objekt vom Typ JsgVect3List ist
JsgVect3List.ToPoly2D() Wandelt ein JsgVect3List bestehend aus einer Liste von 3D-Vektoren in ein JsgPolygon bestehend aus 2D-Vektoren in einem für das 2D-Zeichnen benötigten Format.
JsgMat3.TransList() Multipliziert alle JsgVect3 Vektoren eines Arrays mit einer JsgMat3 Matrix und gibt die neuen resultierenden Vektoren in einem neuen Array zurück
JsgCamera.TransList() Viewing-Transformation eines JsgVect3List
JsgCamera.TransToPoly2D() Viewing-Transformation eines JsgVect3List und Reduktion der 3D-Vektoren zu einem 2D-JsgPolygon

JsgVect3List.Ok()

global JsgVect3List.Ok( Object )

Object: any or undefined
Return: Boolean

Gibt true zurück, wenn Object definiert ist und vom Typ JsgVect3List ist.

Ein Objekt ist vom Typ JsgVect3List, wenn Object definiert ist und ein Array ist. Der Array muss entweder leer sein oder das erste Element muss vom Typ JsgVect3 sein, siehe JsgVect3.Ok().

Diese Funktion ist dazu gedacht, Fälle zu unterscheiden, falls eine Funktion verschiedene Argument-Typen akzeptiert.

function myFunc( arg ) {
  if (JsgVect3List.Ok(arg)) {
    // handle arg as a JsgVect3List
  } else {
    // handle arg as something else
  }
}

JsgVect3List.ToPoly2D()

global JsgVect3List.ToPoly2D( VecList, Poly )

VecList: JsgVect3List
Poly: JsgPolygon; Optional
Polygon, in welchem die resultierenden 2D-Vektoren gespeichert werden sollen
Return: new JsgPolygon or Poly
Resultierendes 2D-Polygon

Reduziert die 3D-Vektoren in VecList auf 2 Dimensionen, indem die Z-Komponente ignoriert wird. Wenn Poly definiert und vom Typ JsgPolygon ist, werden die resultierenden 2D-Vektoren in Poly gespeichert. Ist Poly nicht definiert, wird ein neues JsgPolygon erzeugt, in welchem die 2D-Vektoren gespeichert werden. Diese neue Polygon, oder Poly falls definiert, wird zurückgegeben.

JsGraphX3D.VectListFromFunc()

JsGraphX3D.VectListFromFunc( Params )

Params = {
Func: Function( x, Params ) returns JsgVect3
Min, Max: Number; Optional; Default = -1, 1
Steps: Integer(>0); Optional; Default = 20
Delta: Number; Optional
:
}
Return: JsgVect3List

Erzeugt eine JsgVect3List aus den Vektoren, welche Func beim Aufruf zurückgibt. VectListFromFunc generiert X-Werte von Min bis Max. Mit jedem dieser Werte wird Func aufgerufen. Für Properties, die in Params nicht definiert sind, werden die Defaultwerte verwendet.

Die Grösse der JsgVect3List kann entweder durch Angabe von Steps (Anzahl Schritte zwischen Min und Max) oder durch Angabe von Delta (Schrittweite) bestimmt werden. Wird beides angegeben, hat Steps Vorrang.

Min darf grösser als Max sein. Die X-Werte werden immer von Min nach Max generiert, in diesem Falle vom grösseren zum kleineren Wert. Das Vorzeichen von Delta 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. So kann zum Beispiel eine JsgPlane an die Funktion übergeben werden, sodass die Funktion Punkte auf einer Ebene generieren kann.

Die erzeugte JsgVect3List kann zum Beispiel mit der Funktion Polygon3D() oder Marker3D() gezeichnet werden.

JsGraphX3D.PolygonFromFunc()

JsGraphX3D.PolygonFromFunc( Params, poly )

poly: JsgPolygon; Optional
Params = {
Func: Function( x, Params ) returns JsgVect3
Min, Max: Number; Optional; Default = -1, 1
Steps: Integer(>0); Optional; Default = 20
Delta: Number; Optional
Graph3D: this
:
}
Return: poly or new JsgPolygon

Erzeugt ein Polygon aus den Vektoren, welche Func beim Aufruf zurück gibt. Wenn poly ein JsgPolygon ist, werden die berechneten Punkte in diesem Polygon gespeichert. Wenn poly nicht definiert ist, wird ein neues JsgPolygon erzeugt und die Punkte werden darin gespeichert.

PolygonFromFunc generiert X-Werte von Min bis Max. Mit jedem dieser Werte wird Func aufgerufen. Für Properties, die in Params nicht definiert sind, werden die Defaultwerte verwendet.

Die Anzahl der berechneten Punkte kann entweder durch Angabe von Steps (Anzahl Schritte zwischen Min und Max) oder durch Angabe von Delta (Schrittweite) bestimmt werden. Wird beides angegeben, hat Steps Vorrang.

Min darf grösser als Max sein. Die X-Werte werden immer von Min nach Max generiert, in diesem Falle vom grösseren zum kleineren Wert. Das Vorzeichen von Delta 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. So kann zum Beispiel eine JsgPlane an die Funktion übergeben werden, sodass die Funktion Punkte auf einer Ebene generieren kann.

Wenn in Params das Property Graph3D nicht definiert ist, wird es erzeugt und this wird zugewiesen.

Weitere Infos zur Seite
Erzeugt Montag, 15. Februar 2016
von wabis
Zum Seitenanfang
Geändert Sonntag, 8. Oktober 2017
von wabis