C sharp - Dibujar polígonos con el ratón

 
Vista:

Dibujar polígonos con el ratón

Publicado por Ephesia (24 intervenciones) el 28/06/2015 14:39:04
Saludos a todos:

He conseguido dibujar polígonos con el ratón estableciendo
cada punto con una pulsación (con la ubicación del ratón) y luego cerrándolos con doble click.

El problema es que necesito dibujar polígonos (regulares) con un número de lados establecidos en un textbox.

Al arrastra el ratón y desde le centro, dibujar el polígono con los lados establecidos.
Como el magnífico ejemplo que nos brindó Carlos para el círculo pero con polígonos.

(No entiendo muy bien el tema de las estructuras Point y sólo consigo dibujar triángulos...)

Alguien me podría facilitar una pista, no encuentro algoritmo en Internet.

Cordiales saludos.

EP.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Dibujar polígonos con el ratón

Publicado por Carlos (35 intervenciones) el 08/07/2015 17:00:48
Dame un rato y te escribo un ejemplo de como hacerlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Dibujar polígonos con el ratón

Publicado por Carlos (35 intervenciones) el 08/07/2015 19:21:41
Para dibujar polígonos regulares con el mouse, de la misma manera en que se dibujan los círculos, la tónica cambia un poco, es un poco más complejo, pero no tanto.

Para lograr esto lo primero que debes tener en cuenta es que un polígono regular es parecido a una circunferencia en que tiene un radio, además de esto un polígono regular posee una cantidad de lados que son iguales, una circunferencia es quizás la mejor guía a la hora de dibujar un polígono regular, dado que cualquier polígono cerrado puede inscribirse dentro de una circunferencia y viceversa, en el caso de los polígonos regulares la circunferencia nos brinda los ángulos que podemos usar para plantear los vértices de dicho polígono.

Así que partiendo de eso, lo primero que necesitas para dibujar un polígono regular es calcular sus vértices, para esto usando una circunferencia y un poco de trigonometría básica es más que suficiente.

Por ejemplo, digamos que deseas dibujar un polígono regular de 5 lados, lo primero que debes hacer es dibujar una circunferencia y cortarla en 5 partes iguales, para esto usamos la trigonometría,

partiendo de que una circunferencia tiene 360 grados, y que necesitamos un polígono de 5 lados iguales, sabremos que el ángulo a tener en cuenta para cortar la circunferencia en 5 pedazos iguales es 360/5 = 72, o sea necesitamos trazar 5 líneas imaginarias desde el centro de la circunferencia hasta su borde con una separación de 72 grados cada una de la anterior, una vez hecho esto pues, leemos los puntos exteriores de cada línea y esos serán los vértices del polígono, luego al unir esos puntos obtenemos el polígono.

Claro que al llevar esto a un ejemplo como el que necesitas, que se pueda dibujar el polígono con el mouse, también tienes que tener en cuenta cual es el ángulo de origen, que sería el ángulo que posee la línea imaginaria que esta desde el centro hasta la posición actual del cursor, pues, a la hora de recorrer la circunferencia para obtener los puntos del vértice, debes partir de un punto específico, lo cual además te daría la rotación del polígono.

Fíjate que en este ejemplo que te envió el radio es un número flotante, esto es para poder ser exacto, dado que al dividir 360 por la cantidad de lados el resultado puede ser un número fraccionario.

Pudiera explicarte mejor y con más detalles, esto de la geometría de un polígono, pero necesitaría un pizarrón, je je.
Bueno sin más acá te dejo un ejemplo de cómo dibujar polígonos regulares con el cursor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Dibujar polígonos con el ratón

Publicado por Ephesia (24 intervenciones) el 13/07/2015 11:51:30
Hola:

Perdón por mi tardanza en contestar, hace unos días que no entro en el foro.

No se como agradecerte tu ayuda, magnífico ejemplo, con un código limpio y muy elegante.
Muy sintético.

Me ha servido para lo que necesitaba (cálculos morfométricos, cálculo del área, radios, centros y triangulación).
Con no demasiados cambios, algoritmo de punto de cruz, Delanuy, etc.,
he conseguido que con los datos almacenados en la construcción de los polígonops,
a partir de tu excelente código, calcule todos estos detalles.

Si alguien está interesado en ello, sólo tiene que decirlo.

Saludos y gracias.
EP.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Dibujar polígonos con el ratón

Publicado por Ephesia (24 intervenciones) el 13/07/2015 11:55:03
Por cierto, también muchas gracias por tu muy didáctico texto y explicaciones, da gusto...
Saludos.
EP.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar