Added namespaces
This commit is contained in:
+17
-17
@@ -1,6 +1,6 @@
|
||||
var Hermite = {};
|
||||
L3D.Hermite = {};
|
||||
|
||||
Hermite.Polynom = function(t, f, fp) {
|
||||
L3D.Hermite.Polynom = function(t, f, fp) {
|
||||
this.times = t;
|
||||
this.evals = f;
|
||||
this.primes = fp;
|
||||
@@ -8,15 +8,15 @@ Hermite.Polynom = function(t, f, fp) {
|
||||
this.baseFunctions = [];
|
||||
|
||||
for (var i in this.times) {
|
||||
this.baseFunctions.push(new Hermite.BaseFunction(i, this.times));
|
||||
this.baseFunctions.push(new L3D.Hermite.BaseFunction(i, this.times));
|
||||
}
|
||||
|
||||
// Let's do something at least a little reusable
|
||||
this.tools = {};
|
||||
if (f[0] instanceof THREE.Vector3) {
|
||||
this.tools.whatType = 'THREE.Vector3';
|
||||
this.tools.sum = Tools.sum;
|
||||
this.tools.prod = Tools.mul;
|
||||
this.tools.sum = L3D.Tools.sum;
|
||||
this.tools.prod = L3D.Tools.mul;
|
||||
} else {
|
||||
this.tools.whatType = 'number';
|
||||
this.tools.sum = function(a, b) { return a + b; };
|
||||
@@ -24,7 +24,7 @@ Hermite.Polynom = function(t, f, fp) {
|
||||
}
|
||||
};
|
||||
|
||||
Hermite.Polynom.prototype.eval = function(t) {
|
||||
L3D.Hermite.Polynom.prototype.eval = function(t) {
|
||||
var ret;
|
||||
|
||||
if (this.tools.whatType === 'THREE.Vector3') {
|
||||
@@ -67,7 +67,7 @@ Hermite.Polynom.prototype.eval = function(t) {
|
||||
return ret;
|
||||
};
|
||||
|
||||
Hermite.Polynom.prototype.prime = function(t) {
|
||||
L3D.Hermite.Polynom.prototype.prime = function(t) {
|
||||
var ret;
|
||||
|
||||
if (this.tools.whatType === 'THREE.Vector3') {
|
||||
@@ -141,12 +141,12 @@ Hermite.Polynom.prototype.prime = function(t) {
|
||||
return ret;
|
||||
};
|
||||
|
||||
Hermite.BaseFunction = function(index, times) {
|
||||
L3D.Hermite.BaseFunction = function(index, times) {
|
||||
this.index = index;
|
||||
this.times = times;
|
||||
};
|
||||
|
||||
Hermite.BaseFunction.prototype.eval = function(t) {
|
||||
L3D.Hermite.BaseFunction.prototype.eval = function(t) {
|
||||
var ret = 1;
|
||||
|
||||
for (var i in this.times) {
|
||||
@@ -158,7 +158,7 @@ Hermite.BaseFunction.prototype.eval = function(t) {
|
||||
return ret * ret;
|
||||
};
|
||||
|
||||
Hermite.BaseFunction.prototype.prime = function(t) {
|
||||
L3D.Hermite.BaseFunction.prototype.prime = function(t) {
|
||||
var ret = 0;
|
||||
|
||||
for (var i in this.times) {
|
||||
@@ -170,16 +170,16 @@ Hermite.BaseFunction.prototype.prime = function(t) {
|
||||
return this.eval(t) * ret;
|
||||
};
|
||||
|
||||
Hermite.special = {};
|
||||
L3D.Hermite.special = {};
|
||||
|
||||
// This polynom interpolates with two coords and one derivative
|
||||
// t = [0,1]
|
||||
Hermite.special.Polynom = function(P0, P1, PP1) {
|
||||
L3D.Hermite.special.Polynom = function(P0, P1, PP1) {
|
||||
this.tools = {};
|
||||
if (P0 instanceof THREE.Vector3) {
|
||||
this.tools.sum = Tools.sum;
|
||||
this.tools.mul = Tools.mul;
|
||||
this.tools.diff = Tools.diff;
|
||||
this.tools.sum = L3D.Tools.sum;
|
||||
this.tools.mul = L3D.Tools.mul;
|
||||
this.tools.diff = L3D.Tools.diff;
|
||||
this.c = P0.clone();
|
||||
} else {
|
||||
this.tools.sum = function(a,b) { return a+b; };
|
||||
@@ -192,10 +192,10 @@ Hermite.special.Polynom = function(P0, P1, PP1) {
|
||||
this.b = this.tools.diff(this.tools.mul(this.tools.diff(P1,P0), 2), PP1);
|
||||
};
|
||||
|
||||
Hermite.special.Polynom.prototype.eval = function(t) {
|
||||
L3D.Hermite.special.Polynom.prototype.eval = function(t) {
|
||||
return this.tools.sum(this.tools.mul(this.a, t*t), this.tools.sum(this.tools.mul(this.b, t), this.c));
|
||||
};
|
||||
|
||||
Hermite.special.Polynom.prototype.prime = function(t) {
|
||||
L3D.Hermite.special.Polynom.prototype.prime = function(t) {
|
||||
return this.tools.sum(this.tools.mul(this.a,2*t), this.b);
|
||||
};
|
||||
|
||||
+10
-10
@@ -1,18 +1,18 @@
|
||||
var Tools = {version : "1.0" };
|
||||
L3D.Tools = {};
|
||||
|
||||
Tools.sum = function(v1, v2) {
|
||||
L3D.Tools.sum = function(v1, v2) {
|
||||
return new THREE.Vector3(v1.x + v2.x, v1.y + v2.y, v1.z + v2.z);
|
||||
};
|
||||
|
||||
Tools.diff = function(v1, v2) {
|
||||
L3D.Tools.diff = function(v1, v2) {
|
||||
return new THREE.Vector3(v1.x - v2.x, v1.y - v2.y, v1.z - v2.z);
|
||||
};
|
||||
|
||||
Tools.dot = function(v1, v2) {
|
||||
L3D.Tools.dot = function(v1, v2) {
|
||||
return v1.x * v2.x + v1.y * v2.y + v1.z * v2.z;
|
||||
};
|
||||
|
||||
Tools.cross = function(v1, v2) {
|
||||
L3D.Tools.cross = function(v1, v2) {
|
||||
return new THREE.Vector3(
|
||||
v1.y * v2.z - v1.z * v2.y,
|
||||
v1.z * v2.x - v1.x * v2.z,
|
||||
@@ -20,18 +20,18 @@ Tools.cross = function(v1, v2) {
|
||||
);
|
||||
};
|
||||
|
||||
Tools.mul = function(v1, lambda) {
|
||||
L3D.Tools.mul = function(v1, lambda) {
|
||||
return new THREE.Vector3(v1.x * lambda, v1.y * lambda, v1.z * lambda);
|
||||
};
|
||||
|
||||
Tools.equals = function(v1, v2) {
|
||||
L3D.Tools.equals = function(v1, v2) {
|
||||
return v1.x == v2.x && v1.y == v2.y && v1.z == v2.z;
|
||||
};
|
||||
|
||||
Tools.norm2 = function(v) {
|
||||
L3D.Tools.norm2 = function(v) {
|
||||
return v.x * v.x + v.y * v.y + v.z * v.z;
|
||||
};
|
||||
|
||||
Tools.norm = function(v) {
|
||||
return Math.sqrt(Tools.norm2(v));
|
||||
L3D.Tools.norm = function(v) {
|
||||
return Math.sqrt(L3D.Tools.norm2(v));
|
||||
};
|
||||
|
||||
@@ -17,10 +17,10 @@ function main() {
|
||||
|
||||
// First tests
|
||||
document.write("<ol>");
|
||||
var v3 = Tools.sum(v1,v2);
|
||||
var v3 = L3D.Tools.sum(v1,v2);
|
||||
test(v3.x == v1.x + v2.x && v3.y == v1.y + v2.y && v3.z == v1.z + v2.z);
|
||||
test(Tools.equals(v1, v1Bak));
|
||||
test(Tools.equals(v2, v2Bak));
|
||||
test(L3D.Tools.equals(v1, v1Bak));
|
||||
test(L3D.Tools.equals(v2, v2Bak));
|
||||
document.write('</ol>');
|
||||
|
||||
// Clear v1, v2
|
||||
@@ -28,30 +28,30 @@ function main() {
|
||||
v2 = v2Bak.clone();
|
||||
|
||||
document.write("<ol>");
|
||||
var v4 = Tools.diff(v1,v2);
|
||||
var v4 = L3D.Tools.diff(v1,v2);
|
||||
test(v4.x == v1.x - v2.x && v4.y == v1.y - v2.y && v4.z == v1.z - v2.z);
|
||||
test(Tools.equals(v1, v1Bak));
|
||||
test(Tools.equals(v2, v2Bak));
|
||||
test(L3D.Tools.equals(v1, v1Bak));
|
||||
test(L3D.Tools.equals(v2, v2Bak));
|
||||
document.write('</ol>');
|
||||
|
||||
v1 = v1Bak.clone();
|
||||
v2 = v2Bak.clone();
|
||||
|
||||
document.write("<ol>");
|
||||
var v5 = Tools.dot(v1,v2);
|
||||
var v5 = L3D.Tools.dot(v1,v2);
|
||||
test(v5 == v1.x * v2.x + v1.y * v2.y + v1.z * v2.z);
|
||||
test(Tools.equals(v1, v1Bak));
|
||||
test(Tools.equals(v2, v2Bak));
|
||||
test(L3D.Tools.equals(v1, v1Bak));
|
||||
test(L3D.Tools.equals(v2, v2Bak));
|
||||
document.write('</ol>');
|
||||
|
||||
v1 = v1Bak.clone();
|
||||
v2 = v2Bak.clone();
|
||||
|
||||
document.write("<ol>");
|
||||
var v6 = Tools.cross(new THREE.Vector3(1,0,0), new THREE.Vector3(0,1,0));
|
||||
test(Tools.equals(v6, new THREE.Vector3(0,0,1)));
|
||||
test(Tools.equals(v1, v1Bak));
|
||||
test(Tools.equals(v2, v2Bak));
|
||||
var v6 = L3D.Tools.cross(new THREE.Vector3(1,0,0), new THREE.Vector3(0,1,0));
|
||||
test(L3D.Tools.equals(v6, new THREE.Vector3(0,0,1)));
|
||||
test(L3D.Tools.equals(v1, v1Bak));
|
||||
test(L3D.Tools.equals(v2, v2Bak));
|
||||
document.write('</ol>');
|
||||
|
||||
v1 = v1Bak.clone();
|
||||
@@ -60,18 +60,18 @@ function main() {
|
||||
document.write("<ol>");
|
||||
for (var lambda = 0; lambda < 5; lambda += 0.5)
|
||||
{
|
||||
var v7 = Tools.mul(v1, lambda);
|
||||
test(Tools.equals(v7, new THREE.Vector3(v1Bak.x*lambda, v1Bak.y*lambda, v1Bak.z*lambda)));
|
||||
var v7 = L3D.Tools.mul(v1, lambda);
|
||||
test(L3D.Tools.equals(v7, new THREE.Vector3(v1Bak.x*lambda, v1Bak.y*lambda, v1Bak.z*lambda)));
|
||||
v1 = v1Bak.clone();
|
||||
v2 = v2Bak.clone();
|
||||
var v8 = Tools.mul(v1, lambda);
|
||||
test(Tools.equals(v8, new THREE.Vector3(v1Bak.x*lambda, v1Bak.y*lambda, v1Bak.z*lambda)));
|
||||
var v8 = L3D.Tools.mul(v1, lambda);
|
||||
test(L3D.Tools.equals(v8, new THREE.Vector3(v1Bak.x*lambda, v1Bak.y*lambda, v1Bak.z*lambda)));
|
||||
v1 = v1Bak.clone();
|
||||
v2 = v2Bak.clone();
|
||||
|
||||
// Try into v1
|
||||
v1 = Tools.mul(v1, lambda);
|
||||
test(Tools.equals(v1, new THREE.Vector3(v1Bak.x*lambda, v1Bak.y*lambda, v1Bak.z*lambda)));
|
||||
v1 = L3D.Tools.mul(v1, lambda);
|
||||
test(L3D.Tools.equals(v1, new THREE.Vector3(v1Bak.x*lambda, v1Bak.y*lambda, v1Bak.z*lambda)));
|
||||
v1 = v1Bak.clone();
|
||||
v2 = v2Bak.clone();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user