Mark P Thomas Portfolio

A website showcasing my portfolio of programming projects.

TypeScript| NodeJS | Mocha | Chai | GeoJSON | GIS

GeoJSON

GeoJSON is a wrapper library that makes it easy to store, access, manipulate, and update GeoJSON objects as immutable entities. It also has convenience features, such as tolerance limits & validations for GeoJSON Geometries.

TypeScript | NodeJS | Mocha | Chai | GIS

GIS

GIS is a one-stop shop for GIS work, such as generating layers for Leaflet, CRUD and auto-cleaning features for routes & tracks. It is made to be extensible, so you can derive your own custom objects and methods of manipulating & cleaning them.

TypeScript | NodeJS | Mocha | Chai | Geometry

Geometry

Need more out of a shapes library than basic lines, curves, & bounding box collisions for video games? This library allows deep and complex modeling of polylines, polygons, and more, with an ability to get detailed shape properties and segment information, such as normal vectors.

TypeScript | NodeJS | Mocha | Chai | Vector | Algebra | Trig | Calculus

Math

Contains methods & objects for mathematical operations, such as vector math, point/curve intersections, coordinate conversions, 2D interpolations, cube root derivations, parametric equations, and more!

TypeScript | NodeJS | Mocha | Chai

Data Structures

JavaScript lacks many useful data structures, such as Linked Lists, Heaps, and LRUs. This library implements such structures, including making them easily extendable for those that want further customization.

TypeScript | NodeJS | Mocha | Chai

Units

Conveniently converts between different units. Beginning with unit primitives, it builds on those to convert between more complex units, such as speed, stress, etc. The library is also set up for users to extend it in order to add support for units conversions not yet added.

The library also handles formatting with unit conversions, such as displaying Latitude/Longitude coordinates, recorded as decimal degrees, as degrees/minutes/seconds, e.g. `77.65367°` = `77°39'13.2''W`

TypeScript | NodeJS | Mocha | Chai

History

The history library contains data structures with which one can undo or redo certain actions in a program based on state, actions, or a hybrid of both.

C# | .Net Core | NUnit | NCrunch | TravisCI | Coveralls | Appveyor | STEM

Open Source CAD/Engineering Software

Libraries that allow high end math, geometry & structural engineering capabilities for calculations, drafting, rendering & analysis.

  • Math: Algebra, geometry, trigonometry, calculus, matrix algebra
  • Engineering: Statics, mechanics of solids, dynamics, structural analysis
  • Other: Drafting, path/shape collisions, cross-section properties, BIM
GitHub