5 votos

mover un punto arriba y abajo a lo largo de una esfera

Tengo un problema cuando tengo una esfera y 1 punto que se puede estar en cualquier lugar en que la esfera de la superficie. La Esfera está en el centro el punto (0,0,0).

Ahora necesito conseguir 2 puntos, 1 sólo un poco por debajo de el y otro poco por encima de esto en referencia al eje Y. Si es necesario, o más sencillo de resolver, los puntos pueden ser de alrededor de 15º por encima y por debajo del punto original, este ve el movimiento en 2D círculo.

Gracias de antemano por cualquier ayuda.

EDITAR:

Esto es para ser utilizado en un globo del mundo donde el punto seleccionado nunca será en la parte superior o inferior.

EDITAR:

Estoy utilizando la latitud y la longitud sugerida por rlgordonma y user1551

lo que estoy haciendo es sumar y restar un valor fijo para ϕ

Estos 2 apear correctamente, al menos que apear a buscar en el lugar: El punto original está en el medio de los 2 bares. La esfera tiene R=1 todas las coords me voy a poner aquí son redondeadas, ya que son grandes (equipo de procesado)

enter image description here coord: (0.77, 0.62, 0,11)

enter image description here coord: (0.93, -0.65, 0.019)

estos no:

enter image description here coord: (-0.15, 0.59, 0.79)

enter image description here coord: (-0.33, 0.73, -0.815)

hay otras ocasiones para ambos, pero yo no quiero poner todos aquí.

calc:

    R = 1
    φ = arctan(y/x)
    θ = arccos(z/1)
//to move up only one is used
    φ = φ + π/50
//to move down only one is used
    φ = φ - π/50

    (x,y,z)=(sinθ cosφ, sinθ sinφ, cosθ)

3voto

Chris Ballance Puntos 17329

Lo que usted necesita es una conversión entre el sistema de coordenadas esféricas y el sistema de coordenadas Cartesianas. Si $r$ denota el radio de la esfera, $\theta=\text{polar angle}=\frac\pi2-\text{latitude}\in[0,\pi]$ ($0$ = polo Norte, $\pi$ = polo Sur) y $\varphi=\text{longitude}\in[0,2\pi)$, entonces la conversión de coordenadas esféricas a coordenadas Cartesianas está dada por \begin{equation} (r,\theta,\varphi)\mapsto(x,y,z)=(r\sin\theta\cos\varphi,\,r\sin\theta\sin\varphi,\,r\cos\theta).\tag{1} \end{equation} Para convertir de coordenadas esféricas a coordenadas Cartesianas a coordenadas esféricas, haga lo siguiente: \begin{align} r&=\sqrt{x^2+y^2+z^2},\\ \theta&=\operatorname{acos}(z/r),\\ \varphi&=\operatorname{atan2}(y,x), \end{align} donde atan2 es el cuadrante consciente de la variación de la arco-tangente de la función. (Ciertamente, usted no necesita la primera ecuación en su caso, como $r$ es una constante.) Si usted necesita el informe de la longtitude en su software, usted debe comprobar el rango de las implementaciones de acos y atan2 en su ordenador. Si, por ejemplo, el rango de atan2 en su equipo es $[-\pi,\pi)$, entonces usted debe calcular $\varphi$ como el resto de $\operatorname{atan2}(y,x)+2\pi$ modulo $2\pi$.

Si te mueve el punto hacia arriba a lo largo de un meridiano por $15^\circ=\pi/12$ radianes, el adusted coordenadas esféricas convertido en $$ \begin{cases} (r,\theta-\frac\pi{12},\varphi)&\text{ if }\, \frac\pi{12}\le\theta\le\pi,\\ (r,\frac\pi{12}-\theta,-\varphi)&\text{ if }\, 0\le\theta<\frac\pi{12}. \end{casos} $$ Poner estas nuevas coordenadas esféricas en $(1)$, se obtiene las coordenadas Cartesianas de los ajustes de punto. Del mismo modo, si te mueve el punto hacia abajo por $15^\circ$ a lo largo de un meridiano, la adusted coordenadas esféricas convertido en $$ \begin{cases} (r,\theta+\frac\pi{12},\varphi)&\text{ if } 0\le\theta\le\pi-\frac\pi{12},\\ (r,2\pi-\theta-\frac\pi{12},-\varphi)&\text{ if } \pi-\frac\pi{12}<\theta\le\pi. \end{casos} $$

2voto

Ron Gordon Puntos 96158

La conversión entre coordenadas Cartesianas y esféricas en coordenadas es

$$ (x,y,z) = (R \sin{\theta} \cos {\phi},R \sin{\theta} \sin {\phi}, R \cos{\theta})$$

donde $R$ es el radio de la tierra/esfera, $\theta = $ $+90^{\circ}$- la latitud, y la $\phi=$ longitud.

0voto

half-integer fan Puntos 745

Edificio en las otras respuestas; hay múltiples rivales "estándar" maneras de asignar etiquetas de los ejes y ángulos de lugares en la esfera. A partir de su descripción y las recomendaciones en las otras respuestas, estoy suponiendo que $x$ $z$ están en el plano del ecuador y $y$ es el eje de rotación. El ángulo polar se mide desde el Norte. Usted debe revisar todas las conversiones de lat/long.

Le recomiendo que use trigonométricas de la suma y la diferencia de identidades para convertir las cantidades en lugar de la simple enfoque de sólo arcsen y, a continuación, pecado, etc. Además de ayudar con el problema de mantener la pista de el cuadrante de sus coordenadas, el uso de identidades directamente conserva precisión mejor, especialmente si usted está cerca de $0$ o $90$.

Por ejemplo, no debería ser en realidad el recálculo de su $x$ $z$ coordenadas; puesto que el $\lambda$ (o $\phi$, la longitud, si lo prefiere) no está cambiando, $\frac xz$ no está cambiando, por lo que se debe calcular un único factor de escala (uno para cada desplazamiento) y se aplican a ambos.

En caso de que ya no se dan cuenta de esto, sus coordenadas ya están esencialmente la (ampliación) el pecado y la cos de la esférica ángulos de rotación. Así, por ejemplo, en lugar de etiquetado $y$ simplemente considerarlo $\cos \theta$.

(Acabo de notar que las otras respuestas son el uso de $z$ para el eje de rotación, que es la norma; he cambiado mis términos, porque dijiste $y$ fue el eje de rotación. Creo que podría haber un error de la copia de las recomendaciones, sin cambiar las etiquetas de los ejes.)

p.s. Lo siento a quien no le gusta mi notación. $\phi$ $\theta$ puede ser más común para el trabajo en matemáticas en la esfera, pero en realidad, las que navegar en la (no esférica) de la tierra , tienden a utilizar la $\lambda$$\phi$. Sí, me doy cuenta de $\phi$ es en ambas cosas, pero en diferentes lugares. También medimos teniendo ángulos de manera diferente.

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