Estoy tratando de idear un método para generar polígonos convexos 2D aleatorios. Debe tener las siguientes propiedades:Cómo generar un polígono convexo al azar?
- Las coordenadas deben ser enteros;
- el polígono debe estar dentro de un cuadrado con esquinas (0, 0) y (C, C), donde se da C;
- el polígono debe tener el número de vértices cerca de un número dado N.
Por ejemplo, generar polígonos aleatorios que tienen 10 vértices y se encuentran dentro cuadrados x [0..100] [0..100] .
Lo que hace que esta tarea sea difícil, es el hecho de que las coordenadas deben ser números enteros.
El enfoque que probé fue para generar conjunto aleatorio de puntos en la plaza determinada y calcular la envoltura convexa de estos puntos. Pero el casco convexo resultante es muy pequeño vértices en comparación con N.
¿Alguna idea?
Aquí hay un enlace para obtener más información sobre pruebas de convexidad: http://www.gamedev.net/topic/561441-polygon-convexity-test-cant-get-it-right/ – scgrn
Esto funciona para las coordenadas de coma flotante. ¿Cómo se asegura de que cuando vuelva a números enteros, el polígono no se vuelva cóncavo? Podría eliminar los vértices problemáticos, pero esto podría reducir drásticamente la cantidad de vértices. – Jasiu