Select Git revision
utils.ts 1.31 KiB
export function vecAdd(vecOne: Array<number>, vecTwo: Array<number>){
let vecSum: Array<number> = vecOne;
vecSum[0] += vecTwo[0];
vecSum[1] += vecTwo[1];
vecSum[2] += vecTwo[2];
return vecSum;
}
export function vecSubtract(vecOne: Array<number>, vecTwo: Array<number>){
let vecSubt: Array<number> = vecOne;
vecSubt[0] -= vecTwo[0];
vecSubt[1] -= vecTwo[1];
vecSubt[2] -= vecTwo[2];
return vecSubt;
}
export function vecMultiply(vecOne: Array<number>, factor: number){
vecOne[0] *= factor;
vecOne[1] *= factor;
vecOne[2] *= factor;
return vecOne;
}
export function vecLength(vec: Array<number>){
let length: number;
length = Math.sqrt(vec[0]*vec[0] + vec[1]*vec[1] + vec[2]*vec[2]);
return length;
}
export function vecNormalize(vec: Array<number>){
let computedLength = vecLength(vec);
if(computedLength == 0){computedLength = 1};
let inverse = 1 / computedLength;
let normalized: Array<number> = new Array;
normalized[0] = vec[0] * inverse;
normalized[1] = vec[1] * inverse;
normalized[2] = vec[2] * inverse;
return normalized;
}
export function vecDotProduct(vecOne: Array<number>, vecTwo: Array<number>){
let dotProduct = vecOne[0]*vecTwo[0] + vecOne[1]*vecTwo[1] + vecOne[2]*vecTwo[2];
return dotProduct;
}
//