Jugando con círculos

A continuación algunas pequeñas funciones que te permitirán realizar cálculos sobre los círculos:

        /// <summary>

        /// Obtener el área de un círculo

        /// </summary>

        /// <param name=”radius“>Radio del círculo</param>

        /// <returns></returns>

        public static double CircleArea (double radius)

        {

            return Math.PI * radius * radius;

        }

 

        /// <summary>

        /// Obtener la circunferencia de un círculo

        /// </summary>

        /// <param name=”radius“>Radio del círculo</param>

        /// <returns></returns>

        public static double CircleCircumference (double radius)

        {

            return 2 * Math.PI * radius;

        }

 

        /// <summary>

        /// Obtener el diámetro de un círculo

        /// </summary>

        /// <param name=”radius“>Radio del círculo</param>

        /// <returns></returns>

        public static double CircleDiameter (double radius)

        {

            return radius * 2;

        }

 

        /// <summary>

        /// Obtener la coordenada de alguno de los cuatro cuadrantes de un círculo

        /// </summary>

        /// <param name=”center“>Punto3D para el centro del círculo</param>

        /// <param name=”radius“>Radio del círculo</param>

        /// <param name=”quadrant“>El cuadrante que se desea obtener (de 1 a 4)</param>

        /// <param name=”precision“>Precisión decimal para hacer los cálculos.</param>

        /// <returns></returns>

        public static Point3D GetQuadrant (Point3D center, double radius, int quadrant, short precision)

        {

            switch (quadrant)

            {

                case 1:

                    return PolarPoint(center, 0, radius, precision);

                case 2:

                    return PolarPoint(center, Math.PI / 2, radius, precision);

                case 3:

                    return PolarPoint(center, Math.PI, radius, precision);

                case 4:

                    return PolarPoint(center, Math.PI * 1.5, radius, precision);

                default:

                    return null;

            }

        }

Para ponerlo a prueba puedes escribir un pequeño método como el siguiente:

        private void jugandoConCírculosToolStripMenuItem_Click(object sender, EventArgs e)

        {

            Point3D pt = new Point3D();

            double r = 100;

            string c = “Datos acerca del círculo:” + Environment.NewLine;

            c += “Centro: “ + pt.ToString() + Environment.NewLine;

            c += “Radio: “ + r + Environment.NewLine;

            c += “Diámetro: “ + MyClase.Trunk(MyClase.CircleDiameter(r), 2) + Environment.NewLine;

            c += “Circunferencia: “ + MyClase.Trunk(MyClase.CircleCircumference(r), 2) + Environment.NewLine;

            c += “Área: “ + MyClase.Trunk(MyClase.CircleArea(r), 2) + Environment.NewLine;

            c += “Posición cuadrante 1: “ + MyClase.GetQuadrant(pt, r, 1, 2) + Environment.NewLine;

            c += “Posición cuadrante 2: “ + MyClase.GetQuadrant(pt, r, 2, 2) + Environment.NewLine;

            c += “Posición cuadrante 3: “ + MyClase.GetQuadrant(pt, r, 3, 2) + Environment.NewLine;

            c += “Posición cuadrante 4: “ + MyClase.GetQuadrant(pt, r, 4, 2) + Environment.NewLine;

            MessageBox.Show(c, “Test”, MessageBoxButtons.OK, MessageBoxIcon.Information);

        }

Si todo ha ido bien deberías obtener un resultado parecido al siguiente:

Ponlo a prueba, piensa en cómo mejorarlo y comparte con nosotros tus progresos.

¿Te gustaría aprender a programar en .NET sobre AutoCAD?

Si te inscribes recibirás un cupón de descuento adicional con el que el coste del curso quedará reducido al 50%. También tendrás opción a recibir soporte técnico en programación sobre AutoCAD o Bricscad por correo electrónico sin coste.

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Información básica sobre protección de datos Ver más

  • Responsable: MTB Software de Ponent, SLU.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio. El Titular ha contratado los servicios de alojamiento web a Hostinet, SL que actúa como encargado de tratamiento.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

Ir arriba
Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Ver Política de cookies
Privacidad