Estoy tratando de determinar un tipo de geometría basado en una colección de coordenadas y han llegado a través de una situación en la que me gustaría diferenciar entre lo que es un "polígono" y ¿qué es una "elipse". Esta pregunta es específica para ESRI ArcGIS Runtime para WPF 10.1.1 SDK, pero me imagino que esto es lo suficientemente genérica como para tener rodamiento en cualquier SIG. Voy a usar de ESRI API para los ejemplos en este ejemplo.
Dado el siguiente código de ejemplo para generar una elipse es el punto de recogida:
double slice = 2 * Math.PI / 360;
double radiusX = 50;
double radiusY = 20;
ESRI.ArcGIS.Client.GeometryMapPoint center = new ESRI.ArcGIS.Client.Geometry.MapPoint(0,0);
ESRI.ArcGIS.Client.Geometry.PointCollection pointCollection = new ESRI.ArcGIS.Client.Geometry.PointCollection();
for (int angle = 0; angle <= 360; angle += 6)
{
double rad = slice * angle;
double px = center.X + radiusX * Math.Cos(rad);
double py = center.Y + radiusY * Math.Sin(rad);
pointCollection.Add(new ESRI.ArcGIS.Client.Geometry.MapPoint(px, py));
}
Y entonces, dado este ejemplo para generar un polígono en el punto de recogida (obviamente el polígono podría ser mucho más complejo de lo que esta):
ESRI.ArcGIS.Client.Geometry.PointCollection pointCollection = new ESRI.ArcGIS.Client.Geometry.PointCollection();
pointCollection.Add(new MapPoint(0, 0));
pointCollection.Add(new MapPoint(0, 10));
pointCollection.Add(new MapPoint(10, 10));
pointCollection.Add(new MapPoint(10, 0));
//Close the polygon
pointCollection.Add(pointCollection[0]);
Es allí una manera eficaz, eficiente, y de forma genérica para determinar cual de estas dos formas es una elipse y que no es? El impulso detrás de esto es que el ESRI WPF API de no diferenciar entre Polígonos y puntos suspensivos.
EDIT: tal vez yo pueda hacer esta pregunta más claro, lo que me gustaría a discernir es si los puntos dados constituyen lo que podría considerarse una de 2 Dimensiones de la elipse (tal vez ya se esta haciendo demasiado subjetivo). La elipse puede tener cualquier número de radiales de los puntos que la componen, y me gustaría idealmente determinar si cumple con alguna prueba de la "redondez" o curvatura. El x-radius y y-radio de la muestra de la elipse también podría ser variadas. He editado mi muestra para incluir este.