UNPKG

@absulit/points

Version:

A Generative Art library made in WebGPU

48 lines (47 loc) 1.53 kB
/* @ts-self-types="./math.d.ts" */ const PI=`const PI = 3.14159265;`;const TAU=`const TAU = 6.2831853;`;const PHI=`const PHI = 1.61803398;`;const E=`const E = 2.71828182;`;const polar=` fn polar(distance: f32, radians: f32) -> vec2f { return vec2f(distance * cos(radians), distance * sin(radians)); } `;const rotateVector=` fn rotateVector(p:vec2f, rads:f32 ) -> vec2f { let s = sin(rads); let c = cos(rads); let xnew = p.x * c - p.y * s; let ynew = p.x * s + p.y * c; return vec2(xnew, ynew); } `;const angle=` fn angle(p1:vec2f, p2:vec2f) -> f32 { let delta = p2 - p1; let distance = length(delta); return atan2(delta.y, delta.x); } `;const rotXAxis=` fn rotXAxis(rads:f32) -> mat4x4f { return mat4x4f( 1.0, 0.0, 0.0, 0.0, 0.0, cos(rads), -sin(rads), 0.0, 0.0, sin(rads), cos(rads), 0.0, 0.0, 0.0, 0.0, 1.0 ); } `;const rotYAxis=` fn rotYAxis(rads:f32) -> mat4x4f { return mat4x4f( cos(rads), 0.0, sin(rads), 0.0, 0.0, 1.0, 0.0, 0.0, -sin(rads), 0.0, cos(rads), 0.0, 0.0, 0.0, 0.0, 1.0 ); } `;const rotZAxis=` fn rotZAxis(rads:f32) -> mat4x4f { return mat4x4f( cos(rads), -sin(rads), 0.0, 0.0, sin(rads), cos(rads), 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ); } `;export{E,PHI,PI,TAU,angle,polar,rotXAxis,rotYAxis,rotZAxis,rotateVector};