HE_Mesh* is a Java library for cre­at­ing and manip­u­lat­ing polyg­o­nal mesh­es. Containing no dis­play func­tion­al­i­ty of its own, it is meant to be used with Processing.

My code qual­i­ty warn­ings for the con­structs are dou­bly valid here. HE_Mesh is an after-hours hob­by project aggre­gat­ing years of code snip­pets and 3rd part libraries. It is by no means pro­duc­tion strength, nei­ther in robust­ness, per­for­mance, con­sis­ten­cy or main­te­nance. Consider it a toy, play­ground, a sand­box** that allows me to explore a range of pos­si­bil­i­ties that I wouldn’t be able to oth­er­wise. Friends*** asked me to share this toy, this library.

Since I can­not give you any guar­an­tees or reli­able sup­port,  the code I write for the HE_Mesh library is pub­lic domain. Very lit­tle in the library is invent­ed by me. The knowl­edge required to cre­ate it is all out there.

* Full name: HE_Mesh, short name/tag: hemesh
** If you ever played in a sand­box, you will remem­ber some of the nas­ti­er things hid­ing in the sand. The anal­o­gy is apt.
** With friends like that, who needs…


If you wish to sup­port the fur­ther devel­op­ment of HE_Mesh, it helped you some­how in a project, or you still need some help, you might con­sid­er this innocent little Paypal link.


HE_Mesh, with the below excep­tions, is ded­i­cat­ed to the pub­lic domain. To the extent pos­si­ble under law, I, Frederik Vanhoutte, have waived all copy­right and relat­ed or neigh­bor­ing rights to HE_Mesh. This work is pub­lished from Belgium. (http://creativecommons.org/publicdomain/zero/1.0/)

The fol­low­ing class­es are sub­ject to the license agree­ment of their orig­i­nal authors, includ­ed in the source file:

  • wblut.geom.WB_Earcut
  • wblut.geom.WB_PolygonDecomposer
  • wblut.geom.WB_PolygonSplitter
  • wblut.geom.WB_ShapeReader
  • wblut.hemesh.HEC_SuperDuper
  • wblut.hemesh.HET_FaceSplitter
  • wblut.math.WB_DoubleDouble
  • wblut.math.WB_Ease
  • wblut.math.WB_MTRandom
  • wblut.math.WB_OSNoise
  • wblut.math.WB_PNoise
  • wblut.math.WB_SNoise

The fol­low­ing pack­ages are part of hemesh-external.jar and are sub­ject to the license agree­ment of their orig­i­nal authors:

The mod­i­fied code is avail­able on request.

Getting HE_Mesh


Installation for Processing

Processing doc­u­men­ta­tion: How to Install a Contributed Library

If you want to keep up with the build of the day, man­u­al instal­la­tion is nec­es­sary.

Contributed libraries for Processing are installed inside the libraries sub­fold­er of the sketch­book. If you don’t know where Processing saves your sketch­es you can check this in the File->Preferences… menu.

Inside the down­loaded zip-file is a sin­gle direc­to­ry hemesh with sev­er­al sub­fold­ers . Unzip this fold­er to the libraries sub­fold­er of your sketch­book. Make sure you retain the entire direc­to­ry struc­ture.

Always close the Processing IDE and delete your pre­vi­ous hemesh instal­la­tion before installing a new ver­sion.

Setting up a HE_Mesh Processing sketch

This is my min­i­mal frame­work for a Processing 3 sketch using HE_Mesh.

Hello world!