Neutral Point Measurement

    barycentric-coordinates

    0.0.7 • Public • Published

    barycentric-coordinates

    get barycentric coordinates for triangle and tetrahedron, convert to/from cartesian coordinates, interpolate vertex normals

    Installation

    npm i barycentric-coordinates

    Usage

    var bc = require('barycentric-coordinates');
    
    //triangle is 3 pts [x,y,z]
    var triangle = [[0,0,1],[1,0,1],[1,1,1]];
    
    //tetrahedron is 4 pts [x,y,z]
    var tetrahedron = [[0,0,1],[1,0,1],[1,1,1],[1,1,0]];
    
    //3d pt in space, cartesian coords
    //note -- for correct triangular barycentric coordinates, the point must be in the same plane as the triangle!
    //        but if you only want tetrahedral barycentric coordinates, the position of the point does not matter.
    var pt = [2.0/3.0, 1.0/3.0, 1.0]; //here we pick the point in the middle of the triangle
    
    //get barycentric coordinates...
    var triBaryCoords = bc.triangleBarycentricCoords(pt,triangle); 
    var tetraBaryCoords = bc.tetrahedronBarycentricCoords(pt,tetrahedron); 
    
    console.log("cartesian",pt); //[ 0.667, 0.333, 1.0]
    console.log("barycentric",triBaryCoords); //[ 0.333, 0.333, 0.333]
    console.log("barycentric",tetraBaryCoords); //[ 0.333, 0.333, 0.333, 0.0]
    
    //convert back to cartesian from barycentric...
    
    var triCartesianCoords = bc.triangleCartesianCoords(triBaryCoords, triangle);
    var tetraCartesianCoords = bc.tetrahedronCartesianCoords(tetraBaryCoords, tetrahedron);
    
    console.log("cartesian",triCartesianCoords); //[ 0.667, 0.333, 1.0]
    console.log("cartesian",tetraCartesianCoords); //[ 0.667, 0.333, 1.0]
    
    //can also use barycoords to interpolate vertex normals or UVs. each normal has same format as one of the triangle pts. UVs are similar but dont have a third coordinate.
    //triangleInterpolateNormals(pt, tri, normalA, normalB, normalC)
    //triangleInterpolateUVs((pt, tri, uvA, uvB, uvC)

    See Also

    stonks

    Install

    npm i barycentric-coordinates

    DownloadsWeekly Downloads

    11

    Version

    0.0.7

    License

    CC0-1.0

    Unpacked Size

    15.5 kB

    Total Files

    6

    Last publish

    Collaborators

    • stonkpunk