Aquí podría ser tu PUBLICIDAD


Ruta a la lista de triángulos (.NET / C #)

votos
2

Dado un camino expresado como una matriz de 2d puntos:

Point[] path = new Point[4]
{
    new Point(0,0),
    new Point(10,0),
    new Point(10,10),
    new Point(0,10),
};

... Aquí, una caja.

¿Cuál es la mejor manera de convertir esto en una lista de triángulos (que llenan la ruta) para usar en una aplicación 3D? Dado que esto es solo un ejemplo simple y el camino puede ser bastante complejo en realidad. ¿Hay algo en el marco, quizás System.Drawing o en WPF que ayudaría con esto?

Editar: (Después del comentario de Samuel) Idealmente, me gustaría poder manejar tanto polígonos convexos como cóncavos, de lo contrario el gráfico tendrá que ser de muchos polígonos convexos manualmente.

Publicado el 12/03/2009 a las 15:28
fuente por usuario Rob
En otros idiomas...        العربية       

1 respuestas

votos
5

Depende de en qué consiste la ruta y cómo se crea.

Si siempre es un polígono convexo, puede crear un abanico de triángulo con mucha facilidad que llene la región.

Si no es un polígono convexo, lo más probable es que necesite usar alguna forma de triangulación para completar la ruta. Hay bastantes opciones por ahí. La mayoría del código de muestra está en C o C ++, no en C #, pero esto podría ayudar:

http://local.wasp.uwa.edu.au/~pbourke/papers/triangulate/morten.html

La idea básica es completar los límites externos, y la rutina de triangulación devolverá los índices de triángulos correctos requeridos para su aplicación 3D.

No hay nada en el marco que haga esto por ti.

Respondida el 12/03/2009 a las 03:43
fuente por usuario Reed Copsey


Aquí podría ser tu PUBLICIDAD