Skip to main content

Overview

vizSupport provides utilities for setting up a VizInterface module, converting between coordinate representations, and configuring visual properties (sprites, colors) that Vizard consumes.
from Basilisk.utilities import vizSupport
If the optional vizInterface module is not installed, the module still imports successfully but visualization functions raise an ImportError at call time.

Coordinate conversion

lla2fixedframe(lla_GP, radEquator, radRatio)
function
Converts a geodetic latitude/longitude/altitude point on a reference ellipsoid to body-fixed Cartesian coordinates.
r_GP_P = vizSupport.lla2fixedframe(lla_GP, radEquator, radRatio)
Returns a 3-element list [X, Y, Z] [m] in the body-fixed frame. Raises ValueError if lla_GP has the wrong length or latitude is out of [-π/2, π/2].
fixedframe2lla(r_GP_P, radEquator, radRatio)
function
Converts body-fixed Cartesian coordinates to geodetic latitude/longitude/altitude.
lla_GP = vizSupport.fixedframe2lla(r_GP_P, radEquator, radRatio)
Returns [lat_rad, lon_rad, alt_m].

Color and sprite helpers

toRGBA255(color, alpha=None)
function
Normalizes a color specification to a 4-element [R, G, B, A] list with values in [0, 255].
rgba = vizSupport.toRGBA255("red")
rgba = vizSupport.toRGBA255([255, 128, 0, 200])
Accepts a matplotlib color name string or a pre-normalized [R, G, B, A] list.
setSprite(shape, color=None)
function
Builds a protobuffer sprite-setting string for use in VizInterface.
sprite_str = vizSupport.setSprite("CIRCLE", color="cyan")
Returns a string. Raises KeyError for an unknown shape or ValueError if color is set for "bskSat".

Internal validation helpers

assert_option(value, low, high, default=None)
function
Checks that value is in [low, high] and applies default when value is None.
assert_trinary(value, default=0)
function
Checks that value is in {-1, 0, 1}. Maps False to the non-default of -1/0.

Usage example

from Basilisk.utilities import vizSupport, SimulationBaseClass, macros
from Basilisk.simulation import spacecraft

scSim = SimulationBaseClass.SimBaseClass()
scObject = spacecraft.Spacecraft()
scObject.ModelTag = "bsk-Sat"

# Attach Vizard live-streaming (requires vizInterface)
viz = vizSupport.enableUnityVisualization(
    scSim,
    "simTask",
    scObject,
    liveStream=True,
)

# Configure a ground location marker
r_site = vizSupport.lla2fixedframe(
    [0.6981, -1.5708, 0.0],   # [rad, rad, m]
    6378136.6,                # equatorial radius [m]
    6356751.9 / 6378136.6,   # polar/equatorial ratio
)

Build docs developers (and LLMs) love