Web Simulation 

 

 

 

 

Look Angle Calculation Tutorial 

This interactive tutorial demonstrates Look Angles (Azimuth and Elevation), fundamental concepts in satellite communications and radar systems. Look angles specify the direction an antenna must point to establish a line of sight with a satellite or target. The tutorial visualizes how 3D coordinates are translated into pointing angles using a Local Tangent Plane (LTP) perspective, showing exactly what Azimuth and Elevation look like from an engineer's perspective on the ground.

The simulation provides a 3D visualization of a ground station (observer) and a satellite (target) in a local horizon coordinate system. The visualization shows: (1) The Ground Plane - a reference grid representing the horizon (Polar/Radar Grid in Local View, Cartesian grid in Global View), (2) The Observer - an antenna/radar at the origin (0,0,0), (3) The Target - an SVG icon representing a satellite that always faces the camera (billboard effect), (4) Visualization Vectors - Line of Sight (LoS), Ground Projection, and Height vectors, (5) Angle Arcs - visual arcs showing Azimuth (on ground) and Elevation (vertical) with dynamic labels.

The tutorial supports three input modes: Spherical Mode - where you directly set Azimuth, Elevation, and Range using sliders to understand the geometric relationships, Geodetic Mode - where you input real-world Latitude/Longitude/Altitude coordinates for both observer and satellite, and ECEF Mode - where you input Earth-Centered Earth-Fixed (X, Y, Z) coordinates directly. The system calculates the Look Angles using WGS84 coordinate transformations (LLA → ECEF → ENU → Az/El). For Geodetic and ECEF modes, you can also toggle between Local View (Observer-Centered) and Global View (Earth-Centered) to see both the orbital context and the local pointing angles. This demonstrates how real-world geodetic coordinates are converted to antenna pointing angles.

Understanding Look Angles: Azimuth is the horizontal angle measured clockwise from North (0° = North, 90° = East, 180° = South, 270° = West). Elevation is the vertical angle from the horizon (0° = horizon, 90° = directly overhead). The visualization uses color coding: Green for Azimuth arcs, Orange for Elevation arcs, Blue for Line of Sight, and Gray for projection vectors. The simulation also includes a Mask Angle feature to visualize site shielding - a semi-transparent red cone representing the "Keep-Out Zone" near the horizon where obstacles (trees, buildings) block the signal. When elevation is below the mask angle, the Line of Sight turns red to indicate obstruction.

NOTE : The Local Tangent Plane perspective isolates the essential geometric relationships without the complexity of orbital mechanics. This "Topocentric" view shows exactly what an engineer sees: a target in the sky, and the angles needed to point the antenna. The simulation uses Three.js for 3D rendering with interactive camera controls (drag to rotate, scroll to zoom). The mathematical framework implements standard WGS84 coordinate transformations, making this suitable for both educational understanding and engineering reference.

Mathematical Model

Look Angles are calculated using coordinate transformations from geodetic (Latitude/Longitude/Altitude) coordinates to a local horizon coordinate system. The mathematical framework involves three main steps:

1. Spherical to Cartesian Conversion (Spherical Mode)

In Spherical Mode, the target position is directly specified using Azimuth (Az), Elevation (El), and Range (R). The conversion to Cartesian coordinates (x, y, z) is:

x = R · cos(El) · sin(Az)
y = R · sin(El)
z = -R · cos(El) · cos(Az)

Where: Azimuth (Az) is measured clockwise from North (0° = North, 90° = East), Elevation (El) is measured from the horizon (0° = horizon, 90° = overhead), and Range (R) is the straight-line distance. The negative sign on z ensures North is along the -Z axis in Three.js coordinate system (Y is up).

2. Geodetic to ECEF Conversion (Geodetic Mode)

In Geodetic Mode, real-world coordinates are converted using the WGS84 ellipsoid model. First, Geodetic coordinates (Latitude φ, Longitude λ, Altitude h) are converted to Earth-Centered Earth-Fixed (ECEF) coordinates. The system maps the ECEF Z-axis (North) to the 3D Scene's Y-axis (Up) to maintain a consistent "North-Up" orientation in the visualization:

N = a / √(1 - e² · sin²(φ))
X = (N + h) · cos(φ) · cos(λ)
Y = (N + h) · cos(φ) · sin(λ)
Z = (N · (1 - e²) + h) · sin(φ)

Where: a = 6378137 m (WGS84 semi-major axis), = 0.00669438 (WGS84 eccentricity squared), N is the prime vertical radius of curvature.

3. ECEF to ENU (Topocentric) Conversion

The difference vector between satellite and observer ECEF coordinates is rotated into the Local Tangent Plane (East-North-Up) coordinate system:

E = -sin(λ₀) · ΔX + cos(λ₀) · ΔY
N = -sin(φ₀) · cos(λ₀) · ΔX - sin(φ₀) · sin(λ₀) · ΔY + cos(φ₀) · ΔZ
U = cos(φ₀) · cos(λ₀) · ΔX + cos(φ₀) · sin(λ₀) · ΔY + sin(φ₀) · ΔZ

Where: (φ₀, λ₀) are the observer's latitude and longitude, and (ΔX, ΔY, ΔZ) is the ECEF difference vector (satellite - observer).

4. ENU to Look Angles

Finally, the ENU vector is converted to Azimuth and Elevation:

Azimuth = atan2(E, N) (adjusted to 0-360° range)
Elevation = asin(U / R)
Range = √(E² + N² + U²)

Where: Azimuth is measured clockwise from North, Elevation is the angle from the horizon, and Range is the straight-line distance.

5. Mask Angle and Obstruction

The Mask Angle (θmask) represents the minimum elevation angle required for clear line of sight, accounting for local obstacles (trees, buildings, terrain). The obstruction logic is:

  • If Elevation < 0°: Below Horizon (Earth blocked) - Line of Sight is Grey
  • If 0° ≤ Elevation ≤ θmask: Obstructed (Local environment blocked) - Line of Sight is Red
  • If Elevation > θmask: Clear Line of Sight - Line of Sight is Blue

The Mask Zone is visualized as a semi-transparent red cone extending from the observer up to the mask angle, representing the "Keep-Out Zone" where signals are blocked.

45.0°
30.0°
10.00
10.0°

Calculated Look Angles

Azimuth: 45.00°
Elevation: 30.00°
Range: 10.00 units
Status: Clear Line of Sight

 

Usage Example

Follow these steps to explore Look Angles and coordinate transformations:

  1. Initial View (Spherical Mode): When you first load the simulation, it starts in Spherical Mode with default values (Azimuth: 45°, Elevation: 30°, Range: 10 units). You'll see:
    • A polar (radar) grid (concentric circles and radial lines) representing the local horizon with compass directions (N, E, S, W) clearly marked
    • An observer (cyan cone) at the origin representing the antenna/radar
    • A target (SVG satellite icon) representing the satellite, always facing the camera
    • A blue Line of Sight (LoS) connecting observer to target
    • A gray dashed Ground Projection line from observer to the point directly below the target
    • A gray dashed Height Vector dropping from target to ground
    • A green Azimuth Arc on the ground showing the horizontal angle from North
    • An orange Elevation Arc in the vertical plane showing the vertical angle from horizon
  2. Adjust Spherical Coordinates: Use the sliders to change Azimuth, Elevation, and Range:
    • Azimuth Slider (0-360°): Watch the green arc sweep around the ground plane. At 0° the target is North, at 90° it's East, at 180° it's South, at 270° it's West.
    • Elevation Slider (0-90°): Watch the orange arc rise from the horizon. At 0° the target is on the horizon, at 90° it's directly overhead. Notice how the target moves vertically and the elevation arc rotates in the vertical plane.
    • Range Slider (1-20 units): Watch the target move closer or farther. Notice how all vectors (LoS, projection, height) scale proportionally.
    • Key Insight: The visualization shows the geometric relationship between spherical coordinates (angles + distance) and Cartesian coordinates (x, y, z). The arcs make the angles tangible—you can "see" what 45° azimuth and 30° elevation actually look like in 3D space.
  3. Explore Mask Angle (Site Shielding): Adjust the Mask Angle slider (0-45°):
    • Watch the semi-transparent red cone appear, representing the "Keep-Out Zone" where obstacles block signals
    • When Elevation ≤ Mask Angle: The Line of Sight turns red and the status shows "Obstructed"
    • When Elevation > Mask Angle: The Line of Sight is blue and the status shows "Clear Line of Sight"
    • When Elevation < 0°: The Line of Sight turns grey and the status shows "Below Horizon (Earth Blocked)"
    • Key Insight: Real-world antennas have a minimum elevation angle (typically 5-15°) due to trees, buildings, or terrain. The mask angle visualizes this engineering constraint.
  4. Switch to Geodetic Mode: Change the Mode dropdown to "Geodetic (Lat/Lon/Alt)":
    • The Spherical controls hide and Geodetic controls appear
    • Enter Observer Location: Latitude, Longitude, Altitude (default: San Francisco, 37.7749°N, 122.4194°W, 0 km)
    • Enter Satellite Location: Latitude, Longitude, Altitude (default: 37.5°N, 122.0°W, 500 km)
    • The system automatically calculates Azimuth, Elevation, and Range using WGS84 coordinate transformations
    • Watch the calculated values update in the "Calculated Look Angles" display
    • Key Insight: This demonstrates how real-world geodetic coordinates (what you get from GPS) are converted to antenna pointing angles. The math involves: LLA → ECEF → ENU → Az/El.
  5. Try Real-World Scenarios: Experiment with different locations:
    • GEO Satellite: Set satellite altitude to 35,786 km (geostationary orbit). Notice the very high elevation angle and large range.
    • LEO Satellite: Set satellite altitude to 400-2000 km (low Earth orbit). Notice how elevation and azimuth change rapidly as the satellite moves.
    • Different Observer Locations: Try different cities (e.g., New York: 40.7128°N, 74.0060°W). Watch how the Look Angles change for the same satellite position.
    • Key Insight: The same satellite position results in different Look Angles from different observer locations. This is why ground stations need to track satellites as they move across the sky.
  6. Interactive Camera Controls: Use mouse controls to rotate the 3D view:
    • Left Click + Drag: Rotate the camera around the scene
    • Scroll Wheel: Zoom in/out
    • Right Click + Drag: Pan the view
    • Smart Camera: When switching to Global View or changing the Observer's location, the camera automatically orbits to face the Observer, ensuring they are never hidden behind the Earth. This makes it easy to track satellites from any ground station location.
    • Try rotating to see the elevation arc from different angles—notice how it always lies in the vertical plane defined by the azimuth direction
    • Key Insight: The 3D visualization helps you understand the spatial relationships. The azimuth arc is always on the ground plane, while the elevation arc is always in a vertical plane.
  7. Observe Vector Relationships: Pay attention to the three key vectors:
    • Line of Sight (Blue): The direct path from observer to target. This is what the antenna must point along.
    • Ground Projection (Gray Dashed): The horizontal component. Its direction gives the Azimuth angle.
    • Height Vector (Gray Dashed): The vertical component. Its length relative to the projection gives the Elevation angle.
    • Key Insight: Azimuth is the angle of the ground projection from North. Elevation is the angle of the LoS from the horizon. These are the two angles an antenna needs to point at the target.

Tip: The Local Tangent Plane (LTP) perspective isolates the essential geometric relationships. Start with Spherical Mode to understand what Azimuth and Elevation mean visually, then switch to Geodetic Mode to see how real-world coordinates are converted. The Mask Angle feature demonstrates a critical engineering constraint—real antennas can't see satellites near the horizon due to environmental obstacles. Use the interactive camera to view the scene from different angles and fully understand the 3D relationships.

Parameters

Followings are short descriptions on each parameter
  • Mode: The simulation offers three input modes:
    • Spherical (Az/El/Range): Directly set Azimuth, Elevation, and Range using sliders. This mode helps you understand the geometric relationships between angles and 3D position. Use this mode to learn what Azimuth and Elevation mean visually. Always uses Local View.
    • Geodetic (Lat/Lon/Alt): Input real-world coordinates for both observer and satellite. The system automatically calculates Look Angles using WGS84 coordinate transformations. Use this mode to see how real-world GPS coordinates are converted to antenna pointing angles. Supports both Local View (Observer-Centered) and Global View (Earth-Centered).
    • ECEF (X/Y/Z): Input Earth-Centered Earth-Fixed coordinates directly in meters. Useful for precise orbital mechanics calculations. The system converts ECEF to geodetic coordinates internally for calculations. Supports both Local View (Observer-Centered) and Global View (Earth-Centered).
  • Azimuth (Spherical Mode): The horizontal angle measured clockwise from North. Range: 0-360°. 0° = North, 90° = East, 180° = South, 270° = West. The green arc on the ground plane visualizes this angle. Adjust the slider to see how the target moves horizontally around the observer.
  • Elevation (Spherical Mode): The vertical angle from the horizon. Range: 0-90°. 0° = horizon, 90° = directly overhead. The orange arc in the vertical plane visualizes this angle. Adjust the slider to see how the target moves vertically.
  • Range (Spherical Mode): The straight-line distance from observer to target. Range: 1-20 units (arbitrary scale). Adjust the slider to move the target closer or farther. All vectors (LoS, projection, height) scale proportionally with range.
  • Observer Location (Geodetic Mode): The ground station's geodetic coordinates:
    • Latitude: North/South position (-90° to +90°). Positive = North, Negative = South.
    • Longitude: East/West position (-180° to +180°). Positive = East, Negative = West.
    • Altitude: Height above the WGS84 reference ellipsoid (approx. sea level) in kilometers. Default: 0 km (ellipsoid surface).
    Default values represent San Francisco (37.7749°N, 122.4194°W, 0 km).
  • Satellite Location (Geodetic Mode): The satellite's geodetic coordinates:
    • Latitude: Satellite's subpoint latitude (-90° to +90°).
    • Longitude: Satellite's subpoint longitude (-180° to +180°).
    • Altitude: Satellite's height above the WGS84 reference ellipsoid (Earth's surface) in kilometers. Typical values: LEO (400-2000 km), MEO (20,000 km), GEO (35,786 km).

    Note: In Global View, a "Geocentric Radius" label appears next to the altitude slider. This shows the total distance from Earth's center (Earth Radius + Altitude) to explain why the satellite appears further out in space. For example, at 500 km altitude, the radius is 6,878 km from Earth's center.

    Default values represent a satellite near San Francisco (37.5°N, 122.0°W, 500 km altitude).
  • Mask Angle: The minimum elevation angle required for clear line of sight, accounting for local obstacles (trees, buildings, terrain). Range: 0-45°. Default: 10°. The semi-transparent red cone visualizes the "Keep-Out Zone" where signals are blocked. When Elevation ≤ Mask Angle, the Line of Sight turns red to indicate obstruction. Typical real-world values: 5-15° for urban areas, 0-5° for open terrain.
  • Calculated Look Angles: The system automatically calculates and displays:
    • Azimuth: Calculated horizontal angle (0-360°).
    • Elevation: Calculated vertical angle (-90° to +90°). Negative values indicate the target is below the horizon.
    • Range: Calculated straight-line distance. In Geodetic and ECEF Modes, displayed in kilometers. In Spherical Mode, displayed in arbitrary units.
    • Status: Line of sight status: "Clear Line of Sight" (green), "Obstructed (Below Mask Angle)" (red), or "Below Horizon (Earth Blocked)" (grey).

Controls and Visualizations

Followings are short descriptions on each control and visualization element
  • Mode Selector: Dropdown menu to switch between "Spherical (Az/El/Range)", "Geodetic (Lat/Lon/Alt)", and "ECEF (X/Y/Z)" modes. Changing the mode shows/hides the appropriate input controls. For Geodetic and ECEF modes, a View Mode selector also appears to toggle between Local and Global views.
  • Spherical Mode Controls: Three sliders with value displays:
    • Azimuth Slider: Adjusts horizontal angle (0-360°). Value updates in real-time.
    • Elevation Slider: Adjusts vertical angle (0-90°). Value updates in real-time.
    • Range Slider: Adjusts distance (1-20 units). Value updates in real-time.
    All changes update the 3D visualization immediately.
  • Geodetic Mode Controls: Six number input fields:
    • Observer Latitude/Longitude/Altitude: Input fields for ground station coordinates.
    • Satellite Latitude/Longitude/Altitude: Input fields for satellite coordinates.
    All changes trigger automatic recalculation of Look Angles using WGS84 transformations.
  • Mask Angle Slider: Adjusts the minimum elevation angle (0-45°). Updates the red "Keep-Out Zone" cone and obstruction status in real-time.
  • 3D Visualization Canvas: Interactive Three.js scene showing:
    • Ground Plane: A reference grid representing the horizon. In Local View, this displays as a Polar (Radar) Grid (concentric circles and radial lines) to help visualize Azimuth and Elevation angles. In Global View, it displays as a standard Cartesian grid centered on Earth.
    • Observer: Cyan cone at origin (0,0,0) representing the antenna/radar.
    • Target: SVG satellite icon (billboard sprite) representing the satellite. Always faces the camera for optimal visibility. Opacity and color change based on obstruction status (full opacity when clear, reduced opacity when obstructed or below horizon).
    • Line of Sight (LoS): Blue solid line connecting observer to target. Turns red when obstructed, grey when below horizon.
    • Ground Projection: Gray dashed line from observer to the point directly below the target on the ground plane.
    • Height Vector: Gray dashed line dropping vertically from target to ground point.
    • Azimuth Arc: Green arc on the ground plane showing the horizontal angle from North to the ground projection.
    • Elevation Arc: Orange arc in the vertical plane showing the vertical angle from horizon to the target.
    • Mask Zone: Semi-transparent red cone representing the "Keep-Out Zone" where obstacles block signals.
  • Camera Controls: Interactive mouse controls for the 3D view:
    • Left Click + Drag: Rotate camera around the scene.
    • Scroll Wheel: Zoom in/out.
    • Right Click + Drag: Pan the view.
    • Smart Camera: When switching to Global View or changing the Observer's location, the camera automatically orbits to face the Observer, ensuring they are never hidden behind the Earth.
    Use these controls to view the scene from different angles and understand the 3D relationships.
  • Calculated Look Angles Display: Real-time information panel showing:
    • Azimuth: Current calculated azimuth angle in degrees.
    • Elevation: Current calculated elevation angle in degrees.
    • Range: Current calculated range (in kilometers for Geodetic Mode, arbitrary units for Spherical Mode).
    • Status: Line of sight status with color coding (green = clear, red = obstructed, grey = below horizon).

Key Concepts

  • Look Angles: The fundamental concept in satellite communications and radar systems. Look angles specify the direction an antenna must point to establish a line of sight with a target:
    • Azimuth: The horizontal angle measured clockwise from North (0° = North, 90° = East, 180° = South, 270° = West). Range: 0-360°. This is the "compass direction" to point the antenna.
    • Elevation: The vertical angle from the local horizon (0° = horizon, 90° = directly overhead). Range: 0-90° (positive) or negative (below horizon). This is the "tilt angle" to point the antenna upward.
    • Range: The straight-line distance from observer to target. This determines signal strength and propagation delay.
    Together, Azimuth and Elevation completely specify the pointing direction for an antenna in a local horizon coordinate system.
  • Local Tangent Plane (LTP) / Topocentric Coordinates: The coordinate system used for Look Angles:
    • Origin: Located at the observer's position (ground station/antenna). This is the reference point for all local measurements.
    • East (E) Axis: Points East along the local horizon. Positive values indicate movement eastward.
    • North (N) Axis: Points North along the local horizon. Positive values indicate movement northward.
    • Up (U) Axis: Points vertically upward, perpendicular to the local horizon. Positive values indicate altitude above the observer.
    • Key Insight: The LTP/ENU coordinate system rotates with the observer's position on Earth. At different latitudes and longitudes, the ENU axes point in different directions relative to the global ECEF frame. This local frame is ideal for antenna pointing because Azimuth is measured from North (N-axis) and Elevation is measured from the horizon plane (E-N plane).
  • Coordinate Transformations: The mathematical pipeline for converting real-world coordinates to Look Angles:
    • Geodetic (LLA) → ECEF: Converts Latitude/Longitude/Altitude to Earth-Centered Earth-Fixed coordinates using WGS84 ellipsoid model. This accounts for Earth's shape (not a perfect sphere).
    • ECEF → ENU: Rotates the difference vector (satellite - observer) into the Local Tangent Plane based on the observer's latitude and longitude. This creates the "local view" from the ground station.
    • ENU → Spherical (Az/El/Range): Converts the ENU vector to Azimuth (atan2(E, N)), Elevation (asin(U/R)), and Range (√(E²+N²+U²)).
    • Key Insight: This transformation chain is standard in satellite communications. The simulation implements the full WGS84 model, making it suitable for engineering reference.
  • Site Shielding and Mask Angle: Real-world engineering constraint:
    • Mask Angle: The minimum elevation angle required for clear line of sight, accounting for local obstacles (trees, buildings, terrain, mountains). Typical values: 5-15° for urban areas, 0-5° for open terrain.
    • Keep-Out Zone: The region below the mask angle where signals are blocked. Visualized as a semi-transparent red cone in the simulation.
    • Obstruction Logic: Elevation < 0° = Earth blocked (grey), 0° ≤ Elevation ≤ Mask Angle = Local environment blocked (red), Elevation > Mask Angle = Clear (blue/green).
    • Key Insight: Even if a satellite is geometrically visible (above horizon), it may be unusable due to local obstacles. The mask angle quantifies this engineering constraint.
  • Visualization Elements: The 3D scene uses color coding and geometry to make concepts tangible:
    • Green: Azimuth arc (horizontal angle on ground plane)
    • Orange: Elevation arc (vertical angle in vertical plane)
    • Blue: Line of Sight (clear signal path)
    • Red: Obstructed (below mask angle) or Mask Zone cone
    • Gray: Ground projection and height vectors, or below horizon
    • Solid Lines: Direct connections (Line of Sight)
    • Dashed Lines: Projection vectors (ground projection, height vector)
    • Arcs: Angle visualizations (azimuth on ground, elevation in vertical plane)
  • Input Modes and View Modes: Multiple complementary approaches to understanding Look Angles:
    • Spherical Mode: Directly set Azimuth, Elevation, and Range. Best for learning the geometric relationships and understanding what the angles mean visually. Use this mode first to build intuition. Always uses Local View.
    • Geodetic Mode: Input real-world Latitude/Longitude/Altitude coordinates. Demonstrates how GPS coordinates are converted to antenna pointing angles. Use this mode to see the full coordinate transformation pipeline in action. Supports both Local View (for antenna pointing) and Global View (for orbital context).
    • ECEF Mode: Input Earth-Centered Earth-Fixed coordinates directly. Useful for precise orbital mechanics and when working with space mission data. Supports both Local View and Global View.
    • View Mode (Local vs Global): Available for Geodetic and ECEF modes. Local View centers the scene on the observer (best for understanding antenna pointing). Global View centers the scene on Earth (best for understanding orbital relationships). This decoupling allows you to choose the best perspective for your needs.
    • Key Insight: All modes show the same calculated Look Angles, but they provide different input methods and viewing perspectives. Spherical Mode isolates the geometry, Geodetic Mode shows real-world GPS conversion, and ECEF Mode provides direct orbital coordinate input.
  • Applications: Look Angles are essential for:
    • Satellite Communications: Ground stations must point antennas at satellites using Azimuth and Elevation. The angles change as satellites orbit, requiring tracking systems.
    • Radar Systems: Radar antennas must point at targets using Look Angles. The angles determine beam direction and coverage.
    • Antenna Pointing: Any system that requires precise directional pointing uses Look Angles. This includes satellite TV dishes, radio telescopes, and communication antennas.
    • Orbit Determination: Reverse process - measuring Look Angles from multiple ground stations can determine a satellite's orbit.