Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Mytinystl | 8,789 | a month ago | 25 | other | C++ | |||||
Achieve a tiny STL in C++11 | ||||||||||
Web Skills | 6,285 | 6 months ago | 55 | other | JavaScript | |||||
A visual overview of useful skills to learn as a web developer | ||||||||||
Awesome Python Resources | 1,204 | 6 days ago | 9 | apache-2.0 | ||||||
Awesome Python Resources | ||||||||||
Scala | 939 | 4 months ago | 22 | mit | Scala | |||||
All Algorithms implemented in Scala | ||||||||||
Rappor | 698 | 4 years ago | 36 | apache-2.0 | R | |||||
RAPPOR: Privacy-Preserving Reporting Algorithms | ||||||||||
Text | 565 | 603 | 48 | 8 years ago | 15 | April 13, 2015 | 1 | other | Ruby | |
Collection of text algorithms. gem install text | ||||||||||
Algorithm_study | 502 | 2 months ago | 3 | mit | C++ | |||||
This repository consists of materials for those preparing for coding tests and algorithm interviews. | ||||||||||
Cracking The Coding Interview | 495 | 2 years ago | 2 | bsd-3-clause | C++ | |||||
:books: C++ and Python solutions with automated tests for Cracking the Coding Interview 6th Edition. | ||||||||||
Library Checker Problems | 383 | a day ago | 121 | apache-2.0 | C++ | |||||
The problem data (Test case generator, judge's solution, task, ...) of Library Checker | ||||||||||
Scalgos | 377 | 4 years ago | 13 | Scala | ||||||
algorithms in scala |
intersection-wasm
Built with 🦀 Rust and 🕸 WebAssembly.
Mesh-Mesh and Triangle-Triangle Intersection tests.
/**
* Triangle/triangle intersection test
* @returns true if the triangles intersect, otherwise false
*/
const noDivTriTriIsect = (
v0: [number, number, number],
v1: [number, number, number],
v2: [number, number, number],
u0: [number, number, number],
u1: [number, number, number],
u2: [number, number, number],
// not used by default
epsilon?: number
): boolean => {...}
/**
* Mesh/mesh intersection test
* @returns true if the meshes intersect, otherwise false
*/
const meshMeshIsect => (
// m1.length should be divisible by 9
m1: ArrayLike<number>,
// m2.length should be divisible by 9
m2: ArrayLike<number>,
// defaults to 0.000001
epsilon?: number
): boolean => {...}
You will need a package manager, either npm (comes with node) or yarn.
You will also need a bundler, webpack or Rollup, configured for your project.
Then, in a terminal:
npm install intersection-wasm
# Or, yarn add intersection-wasm
Afterwards, import and use as follows:
import * as intersection from 'intersection-wasm';
intersection.noDivTriTriIsect(
[0.848311, 0.71034, 0.799546],
[0.921121, 0.519029, 0.950985],
[0, 1.751, 0],
[-0.5, 0.8755, 0.5],
[0.5, 0.8755, 1.5],
[0.5, 0.8755, 0.5]
); // ← false
intersection.meshMeshIsect(
new Float32Array([
-140.98574829101562,
-173.12110900878906,
-0.9740447998046875,
-140.98574829101562,
-174.72113037109375,
-0.9740447998046875,
-140.68576049804688,
-174.72113037109375,
-0.9740447998046875
]),
new Float32Array([
-140.98574829101562,
-174.72113037109375,
-0.9740447998046875,
-140.98574829101562,
-174.72113037109375,
-0.9740447998046875,
-140.98574829101562,
-174.72113037109375,
-1.137430191040039,
-140.68576049804688,
-174.72113037109375,
-1.137430191040039,
-140.98574829101562,
-174.72113037109375,
-0.9740447998046875,
-140.68576049804688,
-174.72113037109375,
-1.137430191040039
]),
0.0001
); // ← true
wasm-pack build
cargo build
cd demo && npm i && npm start
cargo test
wasm-pack publish