Skip to content
Snippets Groups Projects
Select Git revision
  • ceb10a64e2b8482b5a5c05e2fd227f6e3d54d5ca
  • master default protected
2 results

utils.ts

Blame
  • 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;
    }
    //