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 rr denota el radio de la esfera, θ=polar angle=π2latitude[0,π]θ=polar angle=π2latitude[0,π] (00 = polo Norte, ππ = polo Sur) y φ=longitude[0,2π)φ=longitude[0,2π), entonces la conversión de coordenadas esféricas a coordenadas Cartesianas está dada por (r,θ,φ)(x,y,z)=(rsinθcosφ,rsinθsinφ,rcosθ). Para convertir de coordenadas esféricas a coordenadas Cartesianas a coordenadas esféricas, haga lo siguiente: r=x2+y2+z2,θ=acos(z/r),φ=atan2(y,x), 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 [π,π), entonces usted debe calcular φ como el resto de atan2(y,x)+2π modulo 2π.

Si te mueve el punto hacia arriba a lo largo de un meridiano por 15=π/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 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)=(Rsinθcosϕ,Rsinθsinϕ,Rcosθ)

donde R es el radio de la tierra/esfera, θ= +90- la latitud, y la ϕ= 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 λ (o ϕ, la longitud, si lo prefiere) no está cambiando, 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θ.

(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. ϕ θ 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 λϕ. Sí, me doy cuenta de ϕ 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