I have a quantity $\beta(\mathbf{x}) \in \mathbb{R}$ that I wish to compute on a curved, smooth surface defined by $\{\mathbf{x}: \Gamma(\mathbf{x})=0\} \subset \mathbb{R}^{3}$. (This surface is approximated by a trimesh.) Since I want to display the quantity as a color on the surface, I need to sample, then bin via $\sum_{\mathbf{x} \in \text{bin cell}} \beta(\mathbf{x})/\text{bin cell area}$.

How does one efficiently choose the bin cells so that they all have the same area, and how does one choose the points at which to evaluate the quantity so that each point corresponds roughly to the same subarea of the bin cell? References and answers appreciated.


1 Answer 1


It's pretty hard to do what you want to do. The method that comes to mind for me is to first calculate a "'blue noise" point distribution on your mesh, then take the bin cells to be the Voronoi regions of those points. Here is a paper that talks about computing such point sets.

An easier approach is to simply choose the barycenter of each triangle (average of its three vertices) as the sample point, taking the bin cell to be the triangle itself. If you have triangles of vastly different areas, then you may want to remesh it first, using a tool like MeshLab.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.