1 votos

Involuta de una circunferencia Coordenadas polares, Calcula r a partir del ángulo polar θ

Esto es para el diseño de engranajes de dientes rectos. Conozco el radio del círculo base $R_b$ y el ángulo polar $\theta$, quiero resolver la distancia radial $r$ para la evoluta de un círculo.

Todos los ejemplos matemáticos de la evoluta que encuentro resuelven $\theta$ usando la tangente de $\beta$ (ver fórmulas abajo); no necesito eso, ya tengo $\theta$, necesito resolver $\beta$ y $\phi$ para luego calcular $r$.

Aquí están las fórmulas comúnmente encontradas para la evoluta de un círculo:

$$\begin{gather} \theta = \phi - \beta = \tan(\beta) - \beta \\ r = \frac{R_b}{\cos(\beta)} \end{gather}$$

$r$ = distancia radial para coordenadas polares

$\beta$ = ángulo de presión

$\phi$ = ángulo de giro

Necesito ser capaz de incrementar el ángulo polar $\theta$ y calcular su respectiva distancia radial.

3voto

Nimda Puntos 1293

De hecho, tienes que encontrar una raíz de la función $f(x) = tan(x) - x - \theta$ para un valor dado de $\theta$. Dado que no hay solución para la inversa de esta función, el método indicado para resolver este tipo de cuestiones es el método de Newton - Raphson. Hay dos inconvenientes en este método: primero, el valor inicial elegido debe estar relativamente cerca de la solución a encontrar, segundo, debes usar algún programa de computadora para encontrar la solución, usando una calculadora sería bastante tedioso. La buena noticia es que una vez que se tiene una solución para $x$ este valor se puede usar para un valor cercano de $\theta$. Aquí está el código en python que puedes usar, o ver como pseudo-código:

from sympy import tan
prec = 10e-10                # precisión deseada         
t = 0.5                      # valor de theta
def f(x):
    return tan(x) - x - t
x = 1.0                      # un valor inicial cuidadosamente elegido
while (abs(f(x)) > prec):
    x = x - f(x)/tan(x)**2
print x, tan(x)-x
0.975017193293859 0.500000000064689

para un valor adyacente de $\theta$, por ejemplo, $0.6$ puedes usar el valor de $x$ encontrado anteriormente:

t = 0.6
while (abs(f(x)) > prec):
    x = x - f(x)/tan(x)**2    
print x, tan(x)-x
1.01691158824103 0.600000000000000

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X