Hi John,
> Thanks for your response Bill. I think I got some ideas, but still have a
> few questions:
>
> 1) It doesn't appear that I can simply create the surface:
> Irregular3DSet(xyz, samples,null, null,null, new DelaunayClarkson(samples));
>
> I was thinking if there are some methods within DelaunayClarkson where I
> can obtain the proper samples and tri and simply feed them to the
> DelaunayCustom. For example something like the following:
>
> DelaunayClarkson test = new DelaunayClarkson(samples);
> set = new Irregular3DSet(xyz, samples,null, null,null, new
> DelaunayCustom(test.getSamples?,test.getTri?));
That would be simple, but it's not what I suggested.
My suggestion was to use the Walk array inside the
DelaunayClarkson to help with your calculation, as you
describe:
> 2) If there aren't any methods as mentioned in (1), I would imagine that I
> will need to determine which data points form the convex hull based on the
> Walk[i][j] and then feed those data to DelaunayCustom. While I know the
> order of the data set (samples) that is going into
> DelaunayClarkson(samples), how do I know their orders within
> Walk[i][j]? In other words, which points within samples triangular face j
> is composed of?
Assume a tetrahedron "i" has vertices labeled 0, 1, 2 and 3. Then
the walk array points at faces as follows:
Walk[i][0] -> face 0, 1, 2
Walk[i][1] -> face 1, 2, 3
Walk[i][2] -> face 2, 3, 0
Walk[i][3] -> face 3, 0, 1
At least, that's what I figured out from reading the
Delaunay.finish_triang() that builds the Walk array.
Curtis, if you can remember, please correct me if I'm
wrong.
Good luck,
Bill