¿Cómo conocer la longitud de un arco?

A continuación una pequeña función que te permitirá calcular la longitud de un arco.

Los arcos vienen definidos por la posición del centro, el radio, el ángulo donde se inicia y el ángulo donde finaliza. Estos ángulos van de 0 hasta 2 * PI.

En el ejemplo vamos a calcular la longitud de un arco que tiene su centro en la coordenada 0,0 con un radio de 10. Los ángulos de inicio y final son 0 y PI/2 (90 grados). Prueba a cambiar los ángulos para verificar los resultados. Puedes usar AutoCAD acotando los arcos y comprobar así los resultados.

A continuación el código:

/// <summary>
        /// Obtiene la longitud de un arco
        /// </summary>
        /// <param name=”center“>Punto: Centro del arco</param>
        /// <param name=”radius“>Radio del arco</param>
        /// <param name=”startAngle“>Ángulo inicial</param>
        /// <param name=”endAngle“>Ángulo final</param>
        /// <returns></returns>
        public static double ArcLenght(Point3D center, double radius, double startAngle, double endAngle)
        {
            double dA = 0;
            double ln = 0;
            if (endAngle > startAngle)
            {
                dA = endAngle – startAngle;
                ln = dA * radius;
            }
            else
            {
                if (endAngle < startAngle)
                {
                    dA = ((2 * Math.PI) + endAngle) – startAngle;
                    ln = dA * radius;
                }
                else
                {
                    ln = 0;
                }
            }
            return ln;
        }

Para ponerlo a prueba puedes escribir una pequeña función parecida a la siguiente:

private void longitudDeUnArcoToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Point3D center = new Point3D();
            double radius = 10;
            double start = 0;
            double end = Math.PI / 2;
            MessageBox.Show(“Longitud del arco: “ + MyClase.ArcLenght(center, radius, start, end), “Test”
                             MessageBoxButtons.OK, MessageBoxIcon.Information);
        }

El resultado debería ser parecido al siguiente:

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

Scroll al inicio
Abrir chat
1
Hola
¿En qué podemos ayudarte?