# Delaunay surface

Is it possible to get Delaunay (3d) to only create indices for triangles on the outside of a mesh?

So triangles that are fully internal do not get drawn?

Cheers

thats the problem of Convex Hull, not sure if someone made a plugin for that already…

Ahhhh. I’ve heard of that before.

Thanks

Anyone?

Ah haaaaa

Thanks Vuxxxx

nice! i wasn’t sure if i had dreamt that…:)

I did, then it appeared!

Credit me :)

So, what’s the next step from Convex Hull in dynamic mesh creation?

How might you make more complex mesh surfaces with, say, concave parts :)

some years ago i tried something like convex hull in polar coordinate space. convert all vectors to polar space, select only the ones with a length greater then a given threshold and then triangulate the angle vectors and join with the corresponding voctors a mesh… that should do something like you want.

Last year @syltefar and I set out to do a clipping ears triangulation plugin, that can triangulate concave shapes. we almost came to something that worked but we had some trouble understanding spreads.

The project stranded because of lack of time and the decreasing importance of the plugin. Since I don’t really code (although I feel a lot less after attending the plugin coding for beginners at node10) we both need to be present.

Plugin coding is now a lot easier with dynamic plugins and we are trying to find some time together to finish this up.

I will quote a post I am not sure made to the forum, at least I did not find it so far:

"
We are trying to develop a plugin that performs triangulation based on the clipping ears algorithm. The plugin is supposed to output several submeshes and is meant to be used with the contour plugin.

Vux created another plugin, Polygon (EX9.Geometry 2d) that behaves more or less exactly the same, except that the clipping ears algorithm is able to always triangulate concave shapes correctly.

We are a bit shaky on the internals of vvvv and completely unfamiliar with SlimDX, which has made the development time get a little out of hand. We are kind of running out of time now, and we would be very thankful for some help on this.
We would imagine that others would also like to have such a plugin, perhaps even someone with the knowledge to implement the algorithm into a plugin outputting multiple subsets of meshes. Alternatively, you could change our first try on a plugin to output multiple submeshes.

The current unfinished version of the plugin is here:

https://vvvv.svn.sourceforge.net/svnroot/vvvv/plugins/c%23/Mesh/ClippingEarTriangulation/

Specifically, the clipping ears algorithm can be found in this class:

https://vvvv.svn.sourceforge.net/svnroot/vvvv/plugins/c%23/Mesh/ClippingEarTriangulation/branches/Experimental/EarClipping.cs

The algorithm is still buggy, but we should be able to fix it, if only we could get the vvvv-specifics to work.

The perfect solution would be if someone with enough knowledge of the whole vvvv / SlimDX-thing could insert EarClipping.cs into a working plugin that outputs submeshes. That would enable us to finish debugging the algorithm.

Using the algorithm should be straightforward:

List polygonVerticesInClockwiseOrder = new List();

// ^ Clockwise … or is it anticlockwise? Anyways, the same order as the output from the Contour node.

List indices = new List();

// add some vertices in clockwise order
EarClipping earClipper = new EarClipping();
indices = earClipper.clippingEarTriangulation(polygonVerticesInClockwiseOrder);

// create index buffer from indices

This should be done for each contour and uploaded to the GPU as separate submeshes.