Navigationslinks überspringen  
Navigationslinks überspringen

Kurven in WebGL

Es gibt folgende zweidimensionale Kurven:
  • Circle
  • Bezier
  • Line
  • qSpline
  • SplineInterpolation
und folgende dreidimensionale Kurven:
  • Bezier3D
  • Line3D
  • Nurbs
.
Die zweidimensionale Kurven können in einemCurveArray zusammengefasst werden und gezeichnet. Diese Liste kann als Line oder gefüllt mit einem Material dargestellt werden.
Einzelne Kurven können mit Paint(WebDevice) gezeichnet werden.  

Circle

Ein Kreisbogen, der durch
Center: Mittelpunkt.
Alfa: Anfangswinkel.
Beta: Endwinkel.
aRadius: Radius in x-Richtung.
bRadius: Radius in y-Richtung.
ClockWise: die Orientierung.
gegeben ist:
z.B.:
var CI = new Circle();
CI.aRadius= 10;
CI.bRadius= 5;
CI.Alfa = Math.PI/4;
CI.Beta = 3*Math.PI/4;
CI.ClockWise = true;
WebDevice.PolygonMode=FillMode.Line;
 

Bezier

Eine Bezierkurve besitzt vier Kontrollpunkte. Der erste ist der Anfangspunkt der Kurve, der vierte der Endpunkt. Die Verbindung des ersten und des zweiten Kontrollpunktes ist die Anfangstangente, die Verbindung des dritten und des vierten Kontrollpunktes die Endtangente.

Z.B.:
Erzeugen der Bezierkurve: var BE= new Bezier();
Die Kontrollpunkte:
var CP= new xyarray();
CP.add(new xy(1,0));
CP.add(new xy(4,2));
CP.add(new xy(7,5));
CP.add(new xy(8,1));
Zuweisen der Kontrollpunkte
BE.ControlPoints=CP;

Line

Ist festgelegt durch Anfangspunkt A und Endpunkt B.
var LI = new Line();
LI.A= new xy(0,0);
LI.B= new xy(10,5);

qSpline

Ist eine kubische Splinefunktion. Sie besitzt neben Anfangspunkt A, Endpunkt B einen Kontrollpunkt. Die Verbindung von A mit dem Kontrollpunkt ist die Anfangstangente, die Verbindung von B mit dem Kontrollpunkt die Endtangente.
Z.B.:
var QS = new qSpline();
QS.A= new xy(0,0);
QS.B = new xy(10,0);
QS.Controlpoint= new xy(5,10);

SplineInterpolation

Ist eine Splinekurve, die beliebig viele Punkte interpoliert:
z.B.:
var SI = new SplineInterpolation();
var CP= new xyarray();
CP.add(new xy(0,0));
CP.add(new xy(3,2));
CP.add(new xy(5,6));
CP.add(new xy(2,4));
CP.add(new xy(1,3));

Bezier3D

Ist eine dreidimensionale Kurve. Sie ist gleich aufgebaut wie die zweidimensionale Bezierkurve. Die Koordinaten sind aber dreidimensional.

Line3D

Ist wie die zweidimensionale Gerade festgelegt durch Anfangspunkt A und Endpunkt B.
Die Koordinaten von A und B sind dreidimensional.
z.B.
var LI = new Line();
LI.A= new xy(0,0,0);
LI.B= new xy(10,5,5);

Nurbs

Nurbs besitzen
ControlPoints
Degree
Weights
Knots
Es muss die die Knotenzahl = Kontrollpunkten+ Grad +1 sein.
Zu jedem Kontrollpunkt wird ein Gewicht gesetzt. Ist das Gewicht groß, so ist die Attraktivität des Kontrollpunktes stark. Die Kurve geht "fast" durch den Kontrollpunkt.
 
Copyright © Drawing3D inc