0.0.4 • Published 13 years ago
rle-classify v0.0.4
rle-classify
This library implements basic geometric queries for narrowband level sets, specifically point and raycasting queries.
Installation/Usage
You can install the library using npm:
npm install rle-classifyAnd then use it to do basic primitive classification tests:
//First create a level set
var bunny = require("rle-rasterize")(require("bunny"));
//Then do a ray-query
var ray_hit = require("rle-classify").ray(bunny, [10, 0, 0], [-1, 0, 0]);
console.log("Ray hit info:", ray_hit);
//Point test
var point_phase = require("rle-classify").point(bunny, [0,0,0]);
console.log("Point info:", point_phase);classify.ray(volume, origin, direction[, solid_func])
Casts a ray against the level set. This takes about O(ray.length * log(volume.length())).
volumeis a narrowband level setoriginis the origin of the raydirectionis the ray directionsolid_functests if the volume is solid or not
Returns a hit record containing the following properties:
hit: A boolean flag that checks if the ray hit the volumex: The point of intersectiont: The the time of intersectionphase: The phase of the volume at the point of intersection
classify.point(volume, point)
Tests a point against the level set. This takes O(log(volume.length())) time.
volumeis a narrowband level setpointis the point to test against
Returns the phase of the level set at point
Credits
(c) 2013 Mikola Lysenko. BSD