Re: Crossing between PATCH and plane
- From: Gabriele Bulian <ANTISSSPAMruga@xxxxxxxxx>
- Date: Sat, 28 Jan 2006 15:48:07 +0100
daniel ennis ha scritto:
Have you considered parameterizing the points with cylindrical coordinates? If you think about the connectedness that you are envisioning for your points, they are connected in a relatively circular direction. Depending upon the complexity of your problem you could assign cylindrical coordinates to each point and then connected them based upon their cicumferential/theta coordinate. Does that make sense?
Yes, it makes sense if the problem is well behaved, but is easy, unfortunately, to generate an example that would make this procedure fail in general...it is sufficient to create an "ad hoc" convexity where the points along the polygon, for a small piece of the polygon, move in the opposite direction with respect to the positive direction of the angle.
Alternately, you can determine the connectedness of points based upon the distance between points. Minimum distances may be assummed to be neighbors. Again this depends on the complexity of your problem?
It could happen that crossing generates more than one closed polygon (this case, assume it as a degenerate one, but it helps in creating something making fail this idea). Let suppose this two polygons to be almost tangent (but not exactly tangent, then you could find a candidate neighbor point that actually belong to another polygon...
Will either of those approaches help?
Sure, every idea always helps...actually I think it is not possible to solve to problem without resorting to a labeling of the edges of the triangles in such a way to follow the polygon step by step...
The idea is as follows:
- Generate the plane
- From the set of patch triangles determine those crossing the plane
- For each crossing triangle determine the crossing points (care should be taken in the case of triangles being on the plane and in case of triangles having only one vertex on the plane)
- Then, start from one triangle where two crossing point are available (they could be coinciding)
- Take the first point as the starting point of the polygon, and the second point as the first vertex.
- Look at the label of the edge of the second point, and find the neighbor triangle in the patch having such edge among its edges.
- Take the crossing points on this triangle: they must exist and the first one will coincide with the second point of the previous triangle
- repeat the previous step until the polygon is closed or there are no more points left.
- If some point is left, then, either the solid is not completely connected, or the intersection generates more than one polygon. In any case, start again the procedure above in order to generate a new polygon.
More or less the steps above are my idea...
Bye, Gab .
- References:
- Re: Crossing between PATCH and plane
- From: Gabriele
- Re: Crossing between PATCH and plane
- From: Daniel Ennis
- Re: Crossing between PATCH and plane
- From: Gabriele Bulian
- Re: Crossing between PATCH and plane
- From: daniel ennis
- Re: Crossing between PATCH and plane
- From: Gabriele Bulian
- Re: Crossing between PATCH and plane
- From: daniel ennis
- Re: Crossing between PATCH and plane
- Prev by Date: Re: Printing A4 from Matlab
- Next by Date: matlab problem
- Previous by thread: Re: Crossing between PATCH and plane
- Next by thread: LaTeX Interpreter and Helvetica
- Index(es):
Relevant Pages
|