Asteroids

A simple webgame featuring dynamic geometry generation, collision detection and newtonian physics. Fly your spacecraft in through an unlimited asteroid field, collect debris and earn money.

To play the game you need to enable javascript in your browser.

Extraordinary Web Experiences

This game showcases state-of-the-art javascript libraries for math, geometry, animation & physics written by me and available for your own projects.

It employs newtonian physics, a scene graph allowing for persistent scenes of unlimited size and elaborate particle animation and collision detection code, all written in ES6 and using modern web technology.

If you want to learn more about the constituting libraries, read on.

Professionally Curious

I am a fullstack software engineer and web enthusiast.

I enjoy building application frameworks, data-driven applications, 3d applications and any kind of unconventional web experience.

My professional experience spans relational and document based databases, mobile optimization, payment systems, search optimization and analytics, server operation and anything in between.

If you have an exciting project and are looking for help, talk to me!

xyzw

A generic, fast, comprehensive and dependencyless vector algebra library
implementing vectors and matrices in two, three and four dimensions.
Performance optimized operations for multiplying 2×2, 2×3, 3×3, 3×4 and 4×4 matrices and vectors.

projection operator · perpendicular operator · ortho-normalisation
euler angles · SLERPs · matrix inversion using gauss-jordan elimination
factory operators · parameter idiom · assignment operators
orthographic and perspective projection matrices

Try it out on github or npm

twodee

Two dimensional geometry manipulation
circles · rectangles · polylines · triangles · polygons · rays

render-dynamic triangle meshes with rich api
OBBs · Convex Hulls · Delaunay Triangulation
factory constructors · parameter idiom · functional and oo intersection tests

Intersections

circle – point · circle – circle
rectangle – point · rectangle – segment · rectangle – rectangle
ray – segment · ray – ray
segment – segment · polyline – point · polyline – polyline
triangle – point · triangle – segment · triangle – triangle
polygon – point · polygon – polygon

Try it out on github or npm

bease

Bezier curve easing
using Newton-Raphson iteration where convenient
binary subdivision otherwise

css equivalent transition easing
factory constructors · parameter idiom

Try it out on github or npm

xyzw-rgba

Vector representations for rgb and rgba colors
factory constructors · parameter idiom · functional and oo transforms
css color parser · hsl color model · extends xyzw

Try it out on github or npm