Latitude and Longitude: 3D Sphere with Parametric Curves and Coordinate Grid
Loading the math board and drawing, please wait…
In collections
Algebra 1
This GeoGebra example demonstrates the geometric construction of latitude and longitude on a 3D sphere, showing how meridians (longitude lines) and parallels (latitude lines) are generated via parametric curves and intersections of orthogonal planes with the sphere. Core mathematical concepts include spherical coordinates, parametric curves, orthogonal planes, rotation, and point intersection, along with the role of real and rational numbers in coordinate representation. The construction uses commands such as Sphere to create the globe, OrthogonalPlane to define planes through the center, IntersectPath to obtain the intersection curves (great or small circles), Rotate to sweep longitude angles, Plane and Intersect to locate specific latitude-longitude points, and Textfield for interactive input of coordinate values. This example is suitable for high school or undergraduate students learning solid geometry, spherical coordinates, and parametric equations, and is also valuable for geography-related math visualization, clarifying the one-to-one mapping between (latitude, longitude) and points on the sphere.
GeoGebra Commands & Parameters
Sphere(A, 9) → aOrthogonalPlane(D, zAxis) → bOrthogonalPlane(E, zAxis) → cOrthogonalPlane(F, zAxis) → dOrthogonalPlane(G, zAxis) → eOrthogonalPlane(H, zAxis) → fOrthogonalPlane(I, zAxis) → gOrthogonalPlane(J, zAxis) → hOrthogonalPlane(K, zAxis) → iIntersectPath(b, a) → kIntersectPath(c, a) → pIntersectPath(d, a) → qIntersectPath(e, a) → rIntersectPath(f, a) → sIntersectPath(g, a) → tIntersectPath(h, a) → c_1IntersectPath(i, a) → d_1OrthogonalPlane(A, zAxis) → jIntersectPath(j, a) → e_1OrthogonalPlane(L, zAxis) → l_5OrthogonalPlane(S, zAxis) → m_4OrthogonalPlane(R, zAxis) → n_2OrthogonalPlane(Q, zAxis) → oOrthogonalPlane(P, zAxis) → uOrthogonalPlane(O, zAxis) → vOrthogonalPlane(N, zAxis) → wOrthogonalPlane(M, zAxis) → a_1IntersectPath(l_5, a) → f_1IntersectPath(w, a) → g_1IntersectPath(v, a) → h_1IntersectPath(u, a) → k_1IntersectPath(o, a) → p_1IntersectPath(n_2, a) → q_1IntersectPath(m_4, a) → r_1IntersectPath(a_1, a) → s_1Rotate(T, 15°, (0, 0)) → T'Rotate(T', 15°, (0, 0)) → T''Rotate(T'', 15°, (0, 0)) → T'''Rotate(T''', 15°, (0, 0)) → URotate(U, 15°, (0, 0)) → U'Rotate(U', 15°, (0, 0)) → U''Rotate(U'', 15°, (0, 0)) → U'''Rotate(U''', 15°, (0, 0)) → VRotate(V, 15°, (0, 0)) → V'Rotate(V', 15°, (0, 0)) → V''Rotate(V'', 15°, (0, 0)) → V'''Plane(A, B, T) → b_1Plane(A, B, T') → i_1Plane(A, B, T'') → j_1Plane(A, B, T''') → l_6Plane(A, B, U) → m_1Plane(A, B, U') → n_1Plane(A, B, U'') → o_1Plane(A, B, U''') → t_1Plane(A, B, V) → u_1Plane(A, B, V') → v_1Plane(A, B, V'') → w_1Plane(A, B, V''') → a_2IntersectPath(i_1, a) → c_2IntersectPath(j_1, a) → d_2IntersectPath(l_6, a) → e_2IntersectPath(m_1, a) → f_2IntersectPath(n_1, a) → g_2IntersectPath(o_1, a) → h_2IntersectPath(t_1, a) → k_2IntersectPath(u_1, a) → p_2IntersectPath(v_1, a) → q_2IntersectPath(w_1, a) → r_2IntersectPath(a_2, a) → s_2IntersectPath(b_1, a) → t_2Intersect(d_1, r_2, 1) → WIntersect(c_1, r_2, 1) → ZIntersect(d_1, s_2, 1) → A_1Intersect(c_1, s_2, 1) → B_1Intersect(t, s_2, 1) → C_1Intersect(s, s_2, 1) → D_1Intersect(s_2, r, 2) → E_1Intersect(q, s_2, 1) → F_1Intersect(p, s_2, 1) → G_1Intersect(k, s_2, 1) → H_1Intersect(d_1, t_2, 2) → J_1Intersect(t_2, c_1, 1) → K_1Intersect(t_2, t, 1) → L_1Intersect(t_2, s, 1) → M_1Intersect(t_2, r, 1) → N_1Intersect(q, t_2, 2) → O_1Intersect(t_2, p, 1) → Q_1Intersect(k, t_2, 2) → R_1Intersect(c_2, d_1, 1) → T_1Intersect(c_2, c_1, 1) → U_1Intersect(t, c_2, 2) → V_1Intersect(c_2, s, 1) → W_1Intersect(r, c_2, 2) → Z_1Intersect(c_2, q, 1) → A_2Intersect(p, c_2, 2) → B_2Intersect(c_2, k, 1) → C_2Intersect(d_2, d_1, 1) → E_2Intersect(d_2, c_1, 1) → F_2Intersect(d_2, t, 1) → G_2Intersect(d_2, s, 1) → H_2Intersect(d_2, r, 1) → I_2Intersect(q, d_2, 2) → J_2Intersect(d_2, p, 1) → K_2Intersect(d_2, k, 1) → L_2Intersect(e_2, d_1, 1) → N_2Intersect(c_1, e_2, 2) → O_2Intersect(t, e_2, 2) → Q_2Intersect(s, e_2, 2) → R_2Intersect(e_2, r, 1) → S_2Intersect(q, e_2, 2) → T_2Intersect(e_2, p, 1) → U_2Intersect(e_2, k, 1) → V_2Intersect(f_2, d_1, 1) → Z_2Intersect(c_1, f_2, 2) → A_3Intersect(t, f_2, 2) → B_3Intersect(s, f_2, 2) → C_3Intersect(r, f_2, 2) → D_3Intersect(q, f_2, 2) → E_3Intersect(p, f_2, 2) → F_3Intersect(k, f_2, 2) → G_3Point(e_1) → H_3Intersect(g_2, d_1, 1) → I_3Intersect(g_2, c_1, 1) → J_3Intersect(t, g_2, 2) → K_3Intersect(s, g_2, 2) → L_3Intersect(g_2, r, 1) → M_3Intersect(g_2, q, 1) → N_3Intersect(g_2, p, 1) → O_3Intersect(g_2, k, 1) → Q_3Intersect(f_1, t_2, 2) → S_3Intersect(f_1, c_2, 2) → T_3Intersect(f_1, d_2, 2) → U_3Intersect(e_2, f_1, 1) → V_3Intersect(f_2, f_1, 1) → W_3Intersect(f_1, g_2, 2) → Z_3Intersect(g_2, s_1, 1) → A_4Intersect(g_1, g_2, 2) → B_4Intersect(k_1, g_2, 2) → C_4Intersect(f_2, k_1, 1) → D_4Intersect(f_2, h_1, 1) → E_4Intersect(f_2, g_1, 1) → F_4Intersect(s_1, f_2, 2) → G_4Intersect(e_2, s_1, 1) → H_4Intersect(g_1, e_2, 2) → I_4Intersect(h_1, e_2, 2) → J_4Intersect(k_1, d_2, 2) → K_4Intersect(d_2, h_1, 1) → L_4Intersect(g_1, d_2, 2) → M_4Intersect(s_1, d_2, 2) → N_4Intersect(s_1, c_2, 2) → O_4Intersect(g_1, c_2, 2) → P_4Intersect(h_1, c_2, 2) → Q_4Intersect(g_1, t_2, 2) → R_4Intersect(s_1, t_2, 2) → S_4Textfield(l_1) → InputBox1Textfield(l_2) → InputBox2Intersect(t, k_2, 2) → I_1Intersect(s, k_2, 2) → S_1Intersect(r, k_2, 2) → D_2Intersect(k_2, q, 1) → M_2Intersect(p, k_2, 2) → W_2Intersect(k, k_2, 2) → R_3Intersect(f_1, k_2, 2) → T_4Intersect(s_1, k_2, 2) → U_4Intersect(g_1, k_2, 2) → V_4Intersect(h_1, k_2, 2) → W_4Intersect(t, p_2, 2) → Z_4Intersect(p_2, s, 1) → A_5Intersect(r, p_2, 2) → B_5Intersect(q, p_2, 2) → C_5Intersect(p_2, p, 1) → D_5Intersect(k, p_2, 2) → E_5Intersect(f_1, p_2, 2) → F_5Intersect(s_1, p_2, 2) → G_5Textfield(m_{response}) → InputBox3