# Astronomy Engine (Kotlin) [![JitPack build status](https://jitpack.io/v/cosinekitty/astronomy.svg)](https://jitpack.io/#cosinekitty/astronomy) --- ## Quick Start Here are some [Kotlin examples](../../demo/kotlin/) and [Java examples](../../demo/java/) to get you started. Feel free to [start a new discussion topic](https://github.com/cosinekitty/astronomy/discussions) if you need some help in your astronomy-related project, either with this code or astronomy computation concepts in general. To include Astronomy Engine in your project, add this in your root `build.gradle.kts` at the end of repositories section: ```kotlin allprojects { repositories { ... maven("https://jitpack.io") } } ``` Now add the dependency: ```kotlin dependencies { implementation("io.github.cosinekitty:astronomy:2.1.19") } ``` For other build tools support have a look at [this](https://jitpack.io/#cosinekitty/astronomy). --- ## Contents - [Coordinate Transforms](#coords) - [Gravity Simulator](#gravsim) - [Types](#types) - [Functions](#functions) - [Properties](#properties) --- ## Coordinate Transforms The following orientation systems are supported. Astronomy Engine can convert a vector from any of these orientations to any of the others. It also allows converting from a vector to spherical (angular) coordinates and back, within a given orientation. Note the 3-letter codes for each of the orientation systems; these are used in function and type names. - **EQJ = J2000 Mean Equator**: Uses the Earth's mean equator (corrected for precession but ignoring nutation) on January 1, 2000, at noon UTC. This moment in time is called J2000. - **EQD = True Equator of Date**: Uses the Earth's equator on a given date and time, adjusted for precession and nutation. - **ECL = J2000 Mean Ecliptic**: Uses the plane of the Earth's orbit around the Sun at J2000. The x-axis is referenced against the J2000 mean equinox. - **ECT = True Ecliptic of Date**: Uses the true (corrected for precession and nutation) orbital plane of the Earth on the given date. The x-axis is referenced against the true equinox for that date. - **HOR = Horizontal**: Uses the viewpoint of an observer at a specific location on the Earth at a given date and time. - **GAL = Galactic**: Based on the IAU 1958 definition of galactic coordinates. ## Gravity Simulator Astronomy Engine provides a [GravitySimulator](doc/-gravity-simulator/index.md) class that allows you to model the trajectories of one or more small bodies like asteroids, comets, or coasting spacecraft. If you know an initial position vector and velocity vector for a small body, the gravity simulator can incrementally simulate the pull of gravity on it from the Sun and planets, to calculate its movement through the Solar System. --- ## Types | Name | Summary | |---|---| | [Aberration](doc/-aberration/index.md)
enum [Aberration](doc/-aberration/index.md) : [Enum](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/index.html)<[Aberration](doc/-aberration/index.md)>
Aberration calculation options. | | [ApsisInfo](doc/-apsis-info/index.md)
class [ApsisInfo](doc/-apsis-info/index.md)(time: [Time](doc/-time/index.md), kind: [ApsisKind](doc/-apsis-kind/index.md), distanceAu: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html))
An apsis event: pericenter (closest approach) or apocenter (farthest distance). | | [ApsisKind](doc/-apsis-kind/index.md)
enum [ApsisKind](doc/-apsis-kind/index.md) : [Enum](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/index.html)<[ApsisKind](doc/-apsis-kind/index.md)>
The type of apsis: pericenter (closest approach) or apocenter (farthest distance). | | [AtmosphereInfo](doc/-atmosphere-info/index.md)
class [AtmosphereInfo](doc/-atmosphere-info/index.md)(pressure: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), temperature: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), density: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html))
Information about idealized atmospheric variables at a given elevation. | | [AxisInfo](doc/-axis-info/index.md)
class [AxisInfo](doc/-axis-info/index.md)(ra: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), dec: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), spin: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), north: [Vector](doc/-vector/index.md))
Information about a body's rotation axis at a given time. | | [Body](doc/-body/index.md)
enum [Body](doc/-body/index.md) : [Enum](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/index.html)<[Body](doc/-body/index.md)>
The enumeration of celestial bodies supported by Astronomy Engine. | | [ConstellationInfo](doc/-constellation-info/index.md)
class [ConstellationInfo](doc/-constellation-info/index.md)(symbol: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), name: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html), ra1875: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), dec1875: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html))
Reports the constellation that a given celestial point lies within. | | [DateTime](doc/-date-time/index.md)
class [DateTime](doc/-date-time/index.md)(year: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), month: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), day: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), hour: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), minute: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), second: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html))
A universal time resolved into UTC calendar date and time fields. | | [Direction](doc/-direction/index.md)
enum [Direction](doc/-direction/index.md) : [Enum](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/index.html)<[Direction](doc/-direction/index.md)>
Selects whether to search for a rising event or a setting event for a celestial body. | | [EarthNotAllowedException](doc/-earth-not-allowed-exception/index.md)
class [EarthNotAllowedException](doc/-earth-not-allowed-exception/index.md) : [Exception](https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html)
The Earth is not allowed as the body parameter. | | [EclipseEvent](doc/-eclipse-event/index.md)
class [EclipseEvent](doc/-eclipse-event/index.md)(time: [Time](doc/-time/index.md), altitude: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html))
Holds a time and the observed altitude of the Sun at that time. | | [EclipseKind](doc/-eclipse-kind/index.md)
enum [EclipseKind](doc/-eclipse-kind/index.md) : [Enum](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/index.html)<[EclipseKind](doc/-eclipse-kind/index.md)>
The different kinds of lunar/solar eclipses. | | [Ecliptic](doc/-ecliptic/index.md)
data class [Ecliptic](doc/-ecliptic/index.md)(vec: [Vector](doc/-vector/index.md), elat: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), elon: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html))
Ecliptic angular and Cartesian coordinates. | | [ElongationInfo](doc/-elongation-info/index.md)
class [ElongationInfo](doc/-elongation-info/index.md)(time: [Time](doc/-time/index.md), visibility: [Visibility](doc/-visibility/index.md), elongation: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), eclipticSeparation: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html))
Contains information about the visibility of a celestial body at a given date and time. | | [EquatorEpoch](doc/-equator-epoch/index.md)
enum [EquatorEpoch](doc/-equator-epoch/index.md) : [Enum](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/index.html)<[EquatorEpoch](doc/-equator-epoch/index.md)>
Selects the date for which the Earth's equator is to be used for representing equatorial coordinates. | | [Equatorial](doc/-equatorial/index.md)
class [Equatorial](doc/-equatorial/index.md)(ra: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), dec: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), dist: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), vec: [Vector](doc/-vector/index.md))
Equatorial angular and cartesian coordinates. | | [GlobalSolarEclipseInfo](doc/-global-solar-eclipse-info/index.md)
class [GlobalSolarEclipseInfo](doc/-global-solar-eclipse-info/index.md)(kind: [EclipseKind](doc/-eclipse-kind/index.md), obscuration: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), peak: [Time](doc/-time/index.md), distance: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), latitude: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), longitude: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html))
Reports the time and geographic location of the peak of a solar eclipse. | | [GravitySimulator](doc/-gravity-simulator/index.md)
class [GravitySimulator](doc/-gravity-simulator/index.md)
A simulation of zero or more small bodies moving through the Solar System. | | [HourAngleInfo](doc/-hour-angle-info/index.md)
class [HourAngleInfo](doc/-hour-angle-info/index.md)(time: [Time](doc/-time/index.md), hor: [Topocentric](doc/-topocentric/index.md))
Information about a celestial body crossing a specific hour angle. | | [IlluminationInfo](doc/-illumination-info/index.md)
class [IlluminationInfo](doc/-illumination-info/index.md)(time: [Time](doc/-time/index.md), mag: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), phaseAngle: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), phaseFraction: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), helioDist: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), ringTilt: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html))
Information about the brightness and illuminated shape of a celestial body. | | [InternalError](doc/-internal-error/index.md)
class [InternalError](doc/-internal-error/index.md)(message: [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)) : [Exception](https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html)
An unexpected internal error occurred in Astronomy Engine | | [InvalidBodyException](doc/-invalid-body-exception/index.md)
class [InvalidBodyException](doc/-invalid-body-exception/index.md)(body: [Body](doc/-body/index.md)) : [Exception](https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html)
An invalid body was specified for the given function. | | [JupiterMoonsInfo](doc/-jupiter-moons-info/index.md)
class [JupiterMoonsInfo](doc/-jupiter-moons-info/index.md)(io: [StateVector](doc/-state-vector/index.md), europa: [StateVector](doc/-state-vector/index.md), ganymede: [StateVector](doc/-state-vector/index.md), callisto: [StateVector](doc/-state-vector/index.md))
Holds the positions and velocities of Jupiter's major 4 moons. | | [LibrationInfo](doc/-libration-info/index.md)
data class [LibrationInfo](doc/-libration-info/index.md)(elat: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), elon: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), mlat: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), mlon: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), distanceKm: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), diamDeg: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html))
Lunar libration angles, returned by [libration](doc/libration.md). | | [LocalSolarEclipseInfo](doc/-local-solar-eclipse-info/index.md)
class [LocalSolarEclipseInfo](doc/-local-solar-eclipse-info/index.md)(kind: [EclipseKind](doc/-eclipse-kind/index.md), obscuration: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), partialBegin: [EclipseEvent](doc/-eclipse-event/index.md), totalBegin: [EclipseEvent](doc/-eclipse-event/index.md)?, peak: [EclipseEvent](doc/-eclipse-event/index.md), totalEnd: [EclipseEvent](doc/-eclipse-event/index.md)?, partialEnd: [EclipseEvent](doc/-eclipse-event/index.md))
Information about a solar eclipse as seen by an observer at a given time and geographic location. | | [LunarEclipseInfo](doc/-lunar-eclipse-info/index.md)
class [LunarEclipseInfo](doc/-lunar-eclipse-info/index.md)(kind: [EclipseKind](doc/-eclipse-kind/index.md), obscuration: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), peak: [Time](doc/-time/index.md), sdPenum: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), sdPartial: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), sdTotal: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html))
Information about a lunar eclipse. | | [MoonQuarterInfo](doc/-moon-quarter-info/index.md)
class [MoonQuarterInfo](doc/-moon-quarter-info/index.md)(quarter: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), time: [Time](doc/-time/index.md))
A lunar quarter event (new moon, first quarter, full moon, or third quarter) along with its date and time. | | [NodeEventInfo](doc/-node-event-info/index.md)
class [NodeEventInfo](doc/-node-event-info/index.md)(time: [Time](doc/-time/index.md), kind: [NodeEventKind](doc/-node-event-kind/index.md))
Information about an ascending or descending node of a body. | | [NodeEventKind](doc/-node-event-kind/index.md)
enum [NodeEventKind](doc/-node-event-kind/index.md) : [Enum](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/index.html)<[NodeEventKind](doc/-node-event-kind/index.md)>
Indicates whether a crossing through the ecliptic plane is ascending or descending. | | [Observer](doc/-observer/index.md)
data class [Observer](doc/-observer/index.md)(latitude: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), longitude: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), height: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html))
The location of an observer on (or near) the surface of the Earth. | | [PositionFunction](doc/-position-function/index.md)
fun interface [PositionFunction](doc/-position-function/index.md)
A function for which to solve a light-travel time problem. | | [Refraction](doc/-refraction/index.md)
enum [Refraction](doc/-refraction/index.md) : [Enum](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/index.html)<[Refraction](doc/-refraction/index.md)>
Selects whether to correct for atmospheric refraction, and if so, how. | | [RotationMatrix](doc/-rotation-matrix/index.md)
class [RotationMatrix](doc/-rotation-matrix/index.md)(rot: [Array](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)<[DoubleArray](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double-array/index.html)>)
A rotation matrix that can be used to transform one coordinate system to another. | | [SearchContext](doc/-search-context/index.md)
fun interface [SearchContext](doc/-search-context/index.md)
Represents a function whose ascending root is to be found. | | [SeasonsInfo](doc/-seasons-info/index.md)
class [SeasonsInfo](doc/-seasons-info/index.md)(marchEquinox: [Time](doc/-time/index.md), juneSolstice: [Time](doc/-time/index.md), septemberEquinox: [Time](doc/-time/index.md), decemberSolstice: [Time](doc/-time/index.md))
The dates and times of changes of season for a given calendar year. | | [Spherical](doc/-spherical/index.md)
data class [Spherical](doc/-spherical/index.md)(lat: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), lon: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), dist: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html))
Spherical coordinates: latitude, longitude, distance. | | [StateVector](doc/-state-vector/index.md)
data class [StateVector](doc/-state-vector/index.md)(x: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), y: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), z: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), vx: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), vy: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), vz: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), t: [Time](doc/-time/index.md))
Represents a combined position vector and velocity vector at a given moment in time. | | [Time](doc/-time/index.md)
class [Time](doc/-time/index.md) : [Comparable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-comparable/index.html)<[Time](doc/-time/index.md)>
A date and time used for astronomical calculations. | | [Topocentric](doc/-topocentric/index.md)
data class [Topocentric](doc/-topocentric/index.md)(azimuth: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), altitude: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), ra: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), dec: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html))
Coordinates of a celestial body as seen by a topocentric observer. | | [TransitInfo](doc/-transit-info/index.md)
class [TransitInfo](doc/-transit-info/index.md)(start: [Time](doc/-time/index.md), peak: [Time](doc/-time/index.md), finish: [Time](doc/-time/index.md), separation: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html))
Information about a transit of Mercury or Venus, as seen from the Earth. | | [Vector](doc/-vector/index.md)
data class [Vector](doc/-vector/index.md)(x: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), y: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), z: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), t: [Time](doc/-time/index.md))
A 3D Cartesian vector whose components are expressed in Astronomical Units (AU). | | [Visibility](doc/-visibility/index.md)
enum [Visibility](doc/-visibility/index.md) : [Enum](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/index.html)<[Visibility](doc/-visibility/index.md)>
Indicates whether a body (especially Mercury or Venus) is best seen in the morning or evening. | ## Functions | Name | Summary | |---|---| | [angleFromSun](doc/angle-from-sun.md)
fun [angleFromSun](doc/angle-from-sun.md)(body: [Body](doc/-body/index.md), time: [Time](doc/-time/index.md)): [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)
Returns the angle between the given body and the Sun, as seen from the Earth. | | [atmosphere](doc/atmosphere.md)
fun [atmosphere](doc/atmosphere.md)(elevationMeters: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)): [AtmosphereInfo](doc/-atmosphere-info/index.md)
Calculates U.S. Standard Atmosphere (1976) variables as a function of elevation. | | [backdatePosition](doc/backdate-position.md)
fun [backdatePosition](doc/backdate-position.md)(time: [Time](doc/-time/index.md), observerBody: [Body](doc/-body/index.md), targetBody: [Body](doc/-body/index.md), aberration: [Aberration](doc/-aberration/index.md)): [Vector](doc/-vector/index.md)
Solve for light travel time correction of apparent position. | | [baryState](doc/bary-state.md)
fun [baryState](doc/bary-state.md)(body: [Body](doc/-body/index.md), time: [Time](doc/-time/index.md)): [StateVector](doc/-state-vector/index.md)
Calculates barycentric position and velocity vectors for the given body. | | [constellation](doc/constellation.md)
fun [constellation](doc/constellation.md)(ra: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), dec: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)): [ConstellationInfo](doc/-constellation-info/index.md)
Determines the constellation that contains the given point in the sky. | | [correctLightTravel](doc/correct-light-travel.md)
fun [correctLightTravel](doc/correct-light-travel.md)(func: [PositionFunction](doc/-position-function/index.md), time: [Time](doc/-time/index.md)): [Vector](doc/-vector/index.md)
Solve for light travel time of a vector function. | | [defineStar](doc/define-star.md)
fun [defineStar](doc/define-star.md)(body: [Body](doc/-body/index.md), ra: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), dec: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), distanceLightYears: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html))
Assign equatorial coordinates to a user-defined star. | | [degreesToRadians](doc/degrees-to-radians.md)
fun [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html).[degreesToRadians](doc/degrees-to-radians.md)(): [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)
Convert an angle expressed in degrees to an angle expressed in radians. | | [eclipticGeoMoon](doc/ecliptic-geo-moon.md)
fun [eclipticGeoMoon](doc/ecliptic-geo-moon.md)(time: [Time](doc/-time/index.md)): [Spherical](doc/-spherical/index.md)
Calculates spherical ecliptic geocentric position of the Moon. | | [eclipticLongitude](doc/ecliptic-longitude.md)
fun [eclipticLongitude](doc/ecliptic-longitude.md)(body: [Body](doc/-body/index.md), time: [Time](doc/-time/index.md)): [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)
Calculates heliocentric ecliptic longitude of a body. | | [elongation](doc/elongation.md)
fun [elongation](doc/elongation.md)(body: [Body](doc/-body/index.md), time: [Time](doc/-time/index.md)): [ElongationInfo](doc/-elongation-info/index.md)
Determines visibility of a celestial body relative to the Sun, as seen from the Earth. | | [equator](doc/equator.md)
fun [equator](doc/equator.md)(body: [Body](doc/-body/index.md), time: [Time](doc/-time/index.md), observer: [Observer](doc/-observer/index.md), equdate: [EquatorEpoch](doc/-equator-epoch/index.md), aberration: [Aberration](doc/-aberration/index.md)): [Equatorial](doc/-equatorial/index.md)
Calculates equatorial coordinates of a celestial body as seen by an observer on the Earth's surface. | | [equatorialToEcliptic](doc/equatorial-to-ecliptic.md)
fun [equatorialToEcliptic](doc/equatorial-to-ecliptic.md)(eqj: [Vector](doc/-vector/index.md)): [Ecliptic](doc/-ecliptic/index.md)
Converts a J2000 mean equator (EQJ) vector to a true ecliptic of date (ETC) vector and angles. | | [geoEmbState](doc/geo-emb-state.md)
fun [geoEmbState](doc/geo-emb-state.md)(time: [Time](doc/-time/index.md)): [StateVector](doc/-state-vector/index.md)
Calculates the geocentric position and velocity of the Earth/Moon barycenter. | | [geoMoon](doc/geo-moon.md)
fun [geoMoon](doc/geo-moon.md)(time: [Time](doc/-time/index.md)): [Vector](doc/-vector/index.md)
Calculates equatorial geocentric position of the Moon at a given time. | | [geoMoonState](doc/geo-moon-state.md)
fun [geoMoonState](doc/geo-moon-state.md)(time: [Time](doc/-time/index.md)): [StateVector](doc/-state-vector/index.md)
Calculates equatorial geocentric position and velocity of the Moon at a given time. | | [geoVector](doc/geo-vector.md)
fun [geoVector](doc/geo-vector.md)(body: [Body](doc/-body/index.md), time: [Time](doc/-time/index.md), aberration: [Aberration](doc/-aberration/index.md)): [Vector](doc/-vector/index.md)
Calculates geocentric Cartesian coordinates of a body in the J2000 equatorial system. | | [globalSolarEclipsesAfter](doc/global-solar-eclipses-after.md)
fun [globalSolarEclipsesAfter](doc/global-solar-eclipses-after.md)(startTime: [Time](doc/-time/index.md)): [Sequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.sequences/-sequence/index.html)<[GlobalSolarEclipseInfo](doc/-global-solar-eclipse-info/index.md)>
Enumerates a series of consecutive global solar eclipses that occur after a given time. | | [helioDistance](doc/helio-distance.md)
fun [helioDistance](doc/helio-distance.md)(body: [Body](doc/-body/index.md), time: [Time](doc/-time/index.md)): [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)
Calculates the distance between a body and the Sun at a given time. | | [helioState](doc/helio-state.md)
fun [helioState](doc/helio-state.md)(body: [Body](doc/-body/index.md), time: [Time](doc/-time/index.md)): [StateVector](doc/-state-vector/index.md)
Calculates heliocentric position and velocity vectors for the given body. | | [helioVector](doc/helio-vector.md)
fun [helioVector](doc/helio-vector.md)(body: [Body](doc/-body/index.md), time: [Time](doc/-time/index.md)): [Vector](doc/-vector/index.md)
Calculates heliocentric Cartesian coordinates of a body in the J2000 equatorial system. | | [horizon](doc/horizon.md)
fun [horizon](doc/horizon.md)(time: [Time](doc/-time/index.md), observer: [Observer](doc/-observer/index.md), ra: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), dec: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), refraction: [Refraction](doc/-refraction/index.md)): [Topocentric](doc/-topocentric/index.md)
Calculates the apparent location of a body relative to the local horizon of an observer on the Earth. | | [hourAngle](doc/hour-angle.md)
fun [hourAngle](doc/hour-angle.md)(body: [Body](doc/-body/index.md), time: [Time](doc/-time/index.md), observer: [Observer](doc/-observer/index.md)): [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)
Finds the hour angle of a body for a given observer and time. | | [illumination](doc/illumination.md)
fun [illumination](doc/illumination.md)(body: [Body](doc/-body/index.md), time: [Time](doc/-time/index.md)): [IlluminationInfo](doc/-illumination-info/index.md)
Finds visual magnitude, phase angle, and other illumination information about a celestial body. | | [inverseRefractionAngle](doc/inverse-refraction-angle.md)
fun [inverseRefractionAngle](doc/inverse-refraction-angle.md)(refraction: [Refraction](doc/-refraction/index.md), bentAltitude: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)): [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)
Calculates the inverse of an atmospheric refraction angle. | | [jupiterMoons](doc/jupiter-moons.md)
fun [jupiterMoons](doc/jupiter-moons.md)(time: [Time](doc/-time/index.md)): [JupiterMoonsInfo](doc/-jupiter-moons-info/index.md)
Calculates jovicentric positions and velocities of Jupiter's largest 4 moons. | | [lagrangePoint](doc/lagrange-point.md)
fun [lagrangePoint](doc/lagrange-point.md)(point: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), time: [Time](doc/-time/index.md), majorBody: [Body](doc/-body/index.md), minorBody: [Body](doc/-body/index.md)): [StateVector](doc/-state-vector/index.md)
Calculates one of the 5 Lagrange points for a pair of co-orbiting bodies. | | [lagrangePointFast](doc/lagrange-point-fast.md)
fun [lagrangePointFast](doc/lagrange-point-fast.md)(point: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), majorState: [StateVector](doc/-state-vector/index.md), majorMass: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), minorState: [StateVector](doc/-state-vector/index.md), minorMass: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)): [StateVector](doc/-state-vector/index.md)
Calculates one of the 5 Lagrange points from body masses and state vectors. | | [libration](doc/libration.md)
fun [libration](doc/libration.md)(time: [Time](doc/-time/index.md)): [LibrationInfo](doc/-libration-info/index.md)
Calculates the Moon's libration angles at a given moment in time. | | [localSolarEclipsesAfter](doc/local-solar-eclipses-after.md)
fun [localSolarEclipsesAfter](doc/local-solar-eclipses-after.md)(startTime: [Time](doc/-time/index.md), observer: [Observer](doc/-observer/index.md)): [Sequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.sequences/-sequence/index.html)<[LocalSolarEclipseInfo](doc/-local-solar-eclipse-info/index.md)>
Enumerates a series of consecutive local solar eclipses that occur after a given time. | | [lunarApsidesAfter](doc/lunar-apsides-after.md)
fun [lunarApsidesAfter](doc/lunar-apsides-after.md)(startTime: [Time](doc/-time/index.md)): [Sequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.sequences/-sequence/index.html)<[ApsisInfo](doc/-apsis-info/index.md)>
Enumerates a series of consecutive lunar apsides that occur after a given time. | | [lunarEclipsesAfter](doc/lunar-eclipses-after.md)
fun [lunarEclipsesAfter](doc/lunar-eclipses-after.md)(startTime: [Time](doc/-time/index.md)): [Sequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.sequences/-sequence/index.html)<[LunarEclipseInfo](doc/-lunar-eclipse-info/index.md)>
Enumerates a series of consecutive lunar eclipses that occur after a given time. | | [massProduct](doc/mass-product.md)
fun [massProduct](doc/mass-product.md)(body: [Body](doc/-body/index.md)): [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)
Returns the product of mass and universal gravitational constant of a Solar System body. | | [moonNodesAfter](doc/moon-nodes-after.md)
fun [moonNodesAfter](doc/moon-nodes-after.md)(startTime: [Time](doc/-time/index.md)): [Sequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.sequences/-sequence/index.html)<[NodeEventInfo](doc/-node-event-info/index.md)>
Enumerates a series of consecutive ascending/descending nodes of the Moon. | | [moonPhase](doc/moon-phase.md)
fun [moonPhase](doc/moon-phase.md)(time: [Time](doc/-time/index.md)): [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)
Returns the Moon's phase as an angle from 0 to 360 degrees. | | [moonQuartersAfter](doc/moon-quarters-after.md)
fun [moonQuartersAfter](doc/moon-quarters-after.md)(startTime: [Time](doc/-time/index.md)): [Sequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.sequences/-sequence/index.html)<[MoonQuarterInfo](doc/-moon-quarter-info/index.md)>
Enumerates a series of consecutive moon quarter phase events. | | [nextGlobalSolarEclipse](doc/next-global-solar-eclipse.md)
fun [nextGlobalSolarEclipse](doc/next-global-solar-eclipse.md)(prevEclipseTime: [Time](doc/-time/index.md)): [GlobalSolarEclipseInfo](doc/-global-solar-eclipse-info/index.md)
Searches for the next global solar eclipse in a series. | | [nextLocalSolarEclipse](doc/next-local-solar-eclipse.md)
fun [nextLocalSolarEclipse](doc/next-local-solar-eclipse.md)(prevEclipseTime: [Time](doc/-time/index.md), observer: [Observer](doc/-observer/index.md)): [LocalSolarEclipseInfo](doc/-local-solar-eclipse-info/index.md)
Searches for the next local solar eclipse in a series. | | [nextLunarApsis](doc/next-lunar-apsis.md)
fun [nextLunarApsis](doc/next-lunar-apsis.md)(apsis: [ApsisInfo](doc/-apsis-info/index.md)): [ApsisInfo](doc/-apsis-info/index.md)
Finds the next lunar perigee or apogee event in a series. | | [nextLunarEclipse](doc/next-lunar-eclipse.md)
fun [nextLunarEclipse](doc/next-lunar-eclipse.md)(prevEclipseTime: [Time](doc/-time/index.md)): [LunarEclipseInfo](doc/-lunar-eclipse-info/index.md)
Searches for the next lunar eclipse in a series. | | [nextMoonNode](doc/next-moon-node.md)
fun [nextMoonNode](doc/next-moon-node.md)(prevNode: [NodeEventInfo](doc/-node-event-info/index.md)): [NodeEventInfo](doc/-node-event-info/index.md)
Searches for the next time when the Moon's center crosses through the ecliptic plane. | | [nextMoonQuarter](doc/next-moon-quarter.md)
fun [nextMoonQuarter](doc/next-moon-quarter.md)(mq: [MoonQuarterInfo](doc/-moon-quarter-info/index.md)): [MoonQuarterInfo](doc/-moon-quarter-info/index.md)
Continues searching for lunar quarters from a previous search. | | [nextPlanetApsis](doc/next-planet-apsis.md)
fun [nextPlanetApsis](doc/next-planet-apsis.md)(body: [Body](doc/-body/index.md), apsis: [ApsisInfo](doc/-apsis-info/index.md)): [ApsisInfo](doc/-apsis-info/index.md)
Finds the next planetary perihelion or aphelion event in a series. | | [nextTransit](doc/next-transit.md)
fun [nextTransit](doc/next-transit.md)(body: [Body](doc/-body/index.md), prevTransitTime: [Time](doc/-time/index.md)): [TransitInfo](doc/-transit-info/index.md)
Searches for another transit of Mercury or Venus. | | [observerGravity](doc/observer-gravity.md)
fun [observerGravity](doc/observer-gravity.md)(latitude: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), height: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)): [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)
Calculates the gravitational acceleration experienced by an observer on the Earth. | | [pairLongitude](doc/pair-longitude.md)
fun [pairLongitude](doc/pair-longitude.md)(body1: [Body](doc/-body/index.md), body2: [Body](doc/-body/index.md), time: [Time](doc/-time/index.md)): [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)
Returns one body's ecliptic longitude with respect to another, as seen from the Earth. | | [planetApsidesAfter](doc/planet-apsides-after.md)
fun [planetApsidesAfter](doc/planet-apsides-after.md)(body: [Body](doc/-body/index.md), startTime: [Time](doc/-time/index.md)): [Sequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.sequences/-sequence/index.html)<[ApsisInfo](doc/-apsis-info/index.md)>
Enumerates a series of consecutive planetary perihelia/aphelia events. | | [planetOrbitalPeriod](doc/planet-orbital-period.md)
fun [planetOrbitalPeriod](doc/planet-orbital-period.md)(body: [Body](doc/-body/index.md)): [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)
Returns the average number of days it takes for a planet to orbit the Sun. | | [radiansToDegrees](doc/radians-to-degrees.md)
fun [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html).[radiansToDegrees](doc/radians-to-degrees.md)(): [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)
Convert an angle expressed in radians to an angle expressed in degrees. | | [refractionAngle](doc/refraction-angle.md)
fun [refractionAngle](doc/refraction-angle.md)(refraction: [Refraction](doc/-refraction/index.md), altitude: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)): [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)
Calculates the amount of "lift" to an altitude angle caused by atmospheric refraction. | | [rotationAxis](doc/rotation-axis.md)
fun [rotationAxis](doc/rotation-axis.md)(body: [Body](doc/-body/index.md), time: [Time](doc/-time/index.md)): [AxisInfo](doc/-axis-info/index.md)
Calculates information about a body's rotation axis at a given time. | | [rotationEclEqd](doc/rotation-ecl-eqd.md)
fun [rotationEclEqd](doc/rotation-ecl-eqd.md)(time: [Time](doc/-time/index.md)): [RotationMatrix](doc/-rotation-matrix/index.md)
Calculates a rotation matrix from J2000 mean ecliptic (ECL) to equatorial of-date (EQD). | | [rotationEclEqj](doc/rotation-ecl-eqj.md)
fun [rotationEclEqj](doc/rotation-ecl-eqj.md)(): [RotationMatrix](doc/-rotation-matrix/index.md)
Calculates a rotation matrix from J2000 mean ecliptic (ECL) to J2000 mean equator (EQJ). | | [rotationEclHor](doc/rotation-ecl-hor.md)
fun [rotationEclHor](doc/rotation-ecl-hor.md)(time: [Time](doc/-time/index.md), observer: [Observer](doc/-observer/index.md)): [RotationMatrix](doc/-rotation-matrix/index.md)
Calculates a rotation matrix from J2000 mean ecliptic (ECL) to horizontal (HOR). | | [rotationEctEqd](doc/rotation-ect-eqd.md)
fun [rotationEctEqd](doc/rotation-ect-eqd.md)(time: [Time](doc/-time/index.md)): [RotationMatrix](doc/-rotation-matrix/index.md)
Calculates a rotation matrix from true ecliptic of date (ECT) to equator of date (EQD). | | [rotationEctEqj](doc/rotation-ect-eqj.md)
fun [rotationEctEqj](doc/rotation-ect-eqj.md)(time: [Time](doc/-time/index.md)): [RotationMatrix](doc/-rotation-matrix/index.md)
Calculates a rotation matrix from true ecliptic of date (ECT) to J2000 mean equator (EQJ). | | [rotationEqdEcl](doc/rotation-eqd-ecl.md)
fun [rotationEqdEcl](doc/rotation-eqd-ecl.md)(time: [Time](doc/-time/index.md)): [RotationMatrix](doc/-rotation-matrix/index.md)
Calculates a rotation matrix from equatorial of-date (EQD) to J2000 mean ecliptic (ECL). | | [rotationEqdEct](doc/rotation-eqd-ect.md)
fun [rotationEqdEct](doc/rotation-eqd-ect.md)(time: [Time](doc/-time/index.md)): [RotationMatrix](doc/-rotation-matrix/index.md)
Calculates a rotation matrix from equator of date (EQD) to true ecliptic of date (ECT). | | [rotationEqdEqj](doc/rotation-eqd-eqj.md)
fun [rotationEqdEqj](doc/rotation-eqd-eqj.md)(time: [Time](doc/-time/index.md)): [RotationMatrix](doc/-rotation-matrix/index.md)
Calculates a rotation matrix from equatorial of-date (EQD) to J2000 mean equator (EQJ). | | [rotationEqdHor](doc/rotation-eqd-hor.md)
fun [rotationEqdHor](doc/rotation-eqd-hor.md)(time: [Time](doc/-time/index.md), observer: [Observer](doc/-observer/index.md)): [RotationMatrix](doc/-rotation-matrix/index.md)
Calculates a rotation matrix from equatorial of-date (EQD) to horizontal (HOR). | | [rotationEqjEcl](doc/rotation-eqj-ecl.md)
fun [rotationEqjEcl](doc/rotation-eqj-ecl.md)(): [RotationMatrix](doc/-rotation-matrix/index.md)
Calculates a rotation matrix from J2000 mean equator (EQJ) to J2000 mean ecliptic (ECL). | | [rotationEqjEct](doc/rotation-eqj-ect.md)
fun [rotationEqjEct](doc/rotation-eqj-ect.md)(time: [Time](doc/-time/index.md)): [RotationMatrix](doc/-rotation-matrix/index.md)
Calculates a rotation matrix from J2000 mean equator (EQJ) to true ecliptic of date (ECT). | | [rotationEqjEqd](doc/rotation-eqj-eqd.md)
fun [rotationEqjEqd](doc/rotation-eqj-eqd.md)(time: [Time](doc/-time/index.md)): [RotationMatrix](doc/-rotation-matrix/index.md)
Calculates a rotation matrix from J2000 mean equator (EQJ) to equatorial of-date (EQD). | | [rotationEqjGal](doc/rotation-eqj-gal.md)
fun [rotationEqjGal](doc/rotation-eqj-gal.md)(): [RotationMatrix](doc/-rotation-matrix/index.md)
Calculates a rotation matrix from galactic (GAL) to J2000 mean equator (EQJ). | | [rotationEqjHor](doc/rotation-eqj-hor.md)
fun [rotationEqjHor](doc/rotation-eqj-hor.md)(time: [Time](doc/-time/index.md), observer: [Observer](doc/-observer/index.md)): [RotationMatrix](doc/-rotation-matrix/index.md)
Calculates a rotation matrix from J2000 mean equator (EQJ) to horizontal (HOR). | | [rotationGalEqj](doc/rotation-gal-eqj.md)
fun [rotationGalEqj](doc/rotation-gal-eqj.md)(): [RotationMatrix](doc/-rotation-matrix/index.md)
Calculates a rotation matrix from galactic (GAL) to J2000 mean equator (EQJ). | | [rotationHorEcl](doc/rotation-hor-ecl.md)
fun [rotationHorEcl](doc/rotation-hor-ecl.md)(time: [Time](doc/-time/index.md), observer: [Observer](doc/-observer/index.md)): [RotationMatrix](doc/-rotation-matrix/index.md)
Calculates a rotation matrix from horizontal (HOR) to J2000 mean ecliptic (ECL). | | [rotationHorEqd](doc/rotation-hor-eqd.md)
fun [rotationHorEqd](doc/rotation-hor-eqd.md)(time: [Time](doc/-time/index.md), observer: [Observer](doc/-observer/index.md)): [RotationMatrix](doc/-rotation-matrix/index.md)
Calculates a rotation matrix from horizontal (HOR) to equatorial of-date (EQD). | | [rotationHorEqj](doc/rotation-hor-eqj.md)
fun [rotationHorEqj](doc/rotation-hor-eqj.md)(time: [Time](doc/-time/index.md), observer: [Observer](doc/-observer/index.md)): [RotationMatrix](doc/-rotation-matrix/index.md)
Calculates a rotation matrix from horizontal (HOR) to J2000 equatorial (EQJ). This is one of the family of functions that returns a rotation matrix for converting from one orientation to another. Source: HOR = horizontal system (x=North, y=West, z=Zenith). Target: EQJ = equatorial system, using equator at the J2000 epoch. | | [search](doc/search.md)
fun [search](doc/search.md)(time1: [Time](doc/-time/index.md), time2: [Time](doc/-time/index.md), toleranceSeconds: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), func: [SearchContext](doc/-search-context/index.md)): [Time](doc/-time/index.md)?
Searches for a time at which a function's value increases through zero. | | [searchAltitude](doc/search-altitude.md)
fun [searchAltitude](doc/search-altitude.md)(body: [Body](doc/-body/index.md), observer: [Observer](doc/-observer/index.md), direction: [Direction](doc/-direction/index.md), startTime: [Time](doc/-time/index.md), limitDays: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), altitude: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)): [Time](doc/-time/index.md)?
Finds the next time the center of a body reaches a given altitude. | | [searchGlobalSolarEclipse](doc/search-global-solar-eclipse.md)
fun [searchGlobalSolarEclipse](doc/search-global-solar-eclipse.md)(startTime: [Time](doc/-time/index.md)): [GlobalSolarEclipseInfo](doc/-global-solar-eclipse-info/index.md)
Searches for a solar eclipse visible anywhere on the Earth's surface. | | [searchHourAngle](doc/search-hour-angle.md)
fun [searchHourAngle](doc/search-hour-angle.md)(body: [Body](doc/-body/index.md), observer: [Observer](doc/-observer/index.md), hourAngle: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), startTime: [Time](doc/-time/index.md), direction: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) = +1): [HourAngleInfo](doc/-hour-angle-info/index.md)
Searches for the time when the center of a body reaches a specified hour angle as seen by an observer on the Earth. | | [searchLocalSolarEclipse](doc/search-local-solar-eclipse.md)
fun [searchLocalSolarEclipse](doc/search-local-solar-eclipse.md)(startTime: [Time](doc/-time/index.md), observer: [Observer](doc/-observer/index.md)): [LocalSolarEclipseInfo](doc/-local-solar-eclipse-info/index.md)
Searches for a solar eclipse visible at a specific location on the Earth's surface. | | [searchLunarApsis](doc/search-lunar-apsis.md)
fun [searchLunarApsis](doc/search-lunar-apsis.md)(startTime: [Time](doc/-time/index.md)): [ApsisInfo](doc/-apsis-info/index.md)
Finds the date and time of the Moon's perigee or apogee. | | [searchLunarEclipse](doc/search-lunar-eclipse.md)
fun [searchLunarEclipse](doc/search-lunar-eclipse.md)(startTime: [Time](doc/-time/index.md)): [LunarEclipseInfo](doc/-lunar-eclipse-info/index.md)
Searches for a lunar eclipse. | | [searchMaxElongation](doc/search-max-elongation.md)
fun [searchMaxElongation](doc/search-max-elongation.md)(body: [Body](doc/-body/index.md), startTime: [Time](doc/-time/index.md)): [ElongationInfo](doc/-elongation-info/index.md)
Finds a date and time when Mercury or Venus reaches its maximum angle from the Sun as seen from the Earth. | | [searchMoonNode](doc/search-moon-node.md)
fun [searchMoonNode](doc/search-moon-node.md)(startTime: [Time](doc/-time/index.md)): [NodeEventInfo](doc/-node-event-info/index.md)
Searches for a time when the Moon's center crosses through the ecliptic plane. | | [searchMoonPhase](doc/search-moon-phase.md)
fun [searchMoonPhase](doc/search-moon-phase.md)(targetLon: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), startTime: [Time](doc/-time/index.md), limitDays: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)): [Time](doc/-time/index.md)?
Searches for the time that the Moon reaches a specified phase. | | [searchMoonQuarter](doc/search-moon-quarter.md)
fun [searchMoonQuarter](doc/search-moon-quarter.md)(startTime: [Time](doc/-time/index.md)): [MoonQuarterInfo](doc/-moon-quarter-info/index.md)
Finds the first lunar quarter after the specified date and time. A lunar quarter is one of the following four lunar phase events: new moon, first quarter, full moon, third quarter. This function finds the lunar quarter that happens soonest after the specified date and time. | | [searchPeakMagnitude](doc/search-peak-magnitude.md)
fun [searchPeakMagnitude](doc/search-peak-magnitude.md)(body: [Body](doc/-body/index.md), startTime: [Time](doc/-time/index.md)): [IlluminationInfo](doc/-illumination-info/index.md)
Searches for the date and time Venus will next appear brightest as seen from the Earth. | | [searchPlanetApsis](doc/search-planet-apsis.md)
fun [searchPlanetApsis](doc/search-planet-apsis.md)(body: [Body](doc/-body/index.md), startTime: [Time](doc/-time/index.md)): [ApsisInfo](doc/-apsis-info/index.md)
Finds the first aphelion or perihelion for a planet after a given time. | | [searchRelativeLongitude](doc/search-relative-longitude.md)
fun [searchRelativeLongitude](doc/search-relative-longitude.md)(body: [Body](doc/-body/index.md), targetRelativeLongitude: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), startTime: [Time](doc/-time/index.md)): [Time](doc/-time/index.md)
Searches for the time when the Earth and another planet are separated by a specified angle in ecliptic longitude, as seen from the Sun. | | [searchRiseSet](doc/search-rise-set.md)
@[JvmOverloads](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/-jvm-overloads/index.html)
fun [searchRiseSet](doc/search-rise-set.md)(body: [Body](doc/-body/index.md), observer: [Observer](doc/-observer/index.md), direction: [Direction](doc/-direction/index.md), startTime: [Time](doc/-time/index.md), limitDays: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), metersAboveGround: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html) = 0.0): [Time](doc/-time/index.md)?
Searches for the next time a celestial body rises or sets as seen by an observer on the Earth. | | [searchSunLongitude](doc/search-sun-longitude.md)
fun [searchSunLongitude](doc/search-sun-longitude.md)(targetLon: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html), startTime: [Time](doc/-time/index.md), limitDays: [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)): [Time](doc/-time/index.md)?
Searches for the time when the Sun reaches an apparent ecliptic longitude as seen from the Earth. | | [searchTransit](doc/search-transit.md)
fun [searchTransit](doc/search-transit.md)(body: [Body](doc/-body/index.md), startTime: [Time](doc/-time/index.md)): [TransitInfo](doc/-transit-info/index.md)
Searches for the first transit of Mercury or Venus after a given date. | | [seasons](doc/seasons.md)
fun [seasons](doc/seasons.md)(year: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)): [SeasonsInfo](doc/-seasons-info/index.md)
Finds both equinoxes and both solstices for a given calendar year. | | [siderealTime](doc/sidereal-time.md)
fun [siderealTime](doc/sidereal-time.md)(time: [Time](doc/-time/index.md)): [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)
Calculates Greenwich Apparent Sidereal Time (GAST). | | [sunPosition](doc/sun-position.md)
fun [sunPosition](doc/sun-position.md)(time: [Time](doc/-time/index.md)): [Ecliptic](doc/-ecliptic/index.md)
Calculates geocentric ecliptic coordinates for the Sun. | | [times](doc/times.md)
operator fun [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html).[times](doc/times.md)(vec: [Vector](doc/-vector/index.md)): [Vector](doc/-vector/index.md)
Multiply a scalar by a vector, yielding another vector. | | [transitsAfter](doc/transits-after.md)
fun [transitsAfter](doc/transits-after.md)(body: [Body](doc/-body/index.md), startTime: [Time](doc/-time/index.md)): [Sequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.sequences/-sequence/index.html)<[TransitInfo](doc/-transit-info/index.md)>
Enumerates a series of consecutive transits of Mercury or Venus. | ## Properties | Name | Summary | |---|---| | [AU_PER_LY](doc/-a-u_-p-e-r_-l-y.md)
const val [AU_PER_LY](doc/-a-u_-p-e-r_-l-y.md): [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html) = 63241.07708807546
The number of astronomical units per light-year. | | [C_AUDAY](doc/-c_-a-u-d-a-y.md)
const val [C_AUDAY](doc/-c_-a-u-d-a-y.md): [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html) = 173.1446326846693
The speed of light in AU/day. | | [CALLISTO_RADIUS_KM](doc/-c-a-l-l-i-s-t-o_-r-a-d-i-u-s_-k-m.md)
const val [CALLISTO_RADIUS_KM](doc/-c-a-l-l-i-s-t-o_-r-a-d-i-u-s_-k-m.md): [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html) = 2410.3
The mean radius of Jupiter's moon Callisto, expressed in kilometers. | | [DEG2RAD](doc/-d-e-g2-r-a-d.md)
const val [DEG2RAD](doc/-d-e-g2-r-a-d.md): [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html) = 0.017453292519943295
The factor to convert degrees to radians = pi/180. | | [EUROPA_RADIUS_KM](doc/-e-u-r-o-p-a_-r-a-d-i-u-s_-k-m.md)
const val [EUROPA_RADIUS_KM](doc/-e-u-r-o-p-a_-r-a-d-i-u-s_-k-m.md): [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html) = 1560.8
The mean radius of Jupiter's moon Europa, expressed in kilometers. | | [GANYMEDE_RADIUS_KM](doc/-g-a-n-y-m-e-d-e_-r-a-d-i-u-s_-k-m.md)
const val [GANYMEDE_RADIUS_KM](doc/-g-a-n-y-m-e-d-e_-r-a-d-i-u-s_-k-m.md): [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html) = 2631.2
The mean radius of Jupiter's moon Ganymede, expressed in kilometers. | | [HOUR2RAD](doc/-h-o-u-r2-r-a-d.md)
const val [HOUR2RAD](doc/-h-o-u-r2-r-a-d.md): [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html) = 0.26179938779914946
The factor to convert sidereal hours to radians = pi/12. | | [IO_RADIUS_KM](doc/-i-o_-r-a-d-i-u-s_-k-m.md)
const val [IO_RADIUS_KM](doc/-i-o_-r-a-d-i-u-s_-k-m.md): [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html) = 1821.6
The mean radius of Jupiter's moon Io, expressed in kilometers. | | [JUPITER_EQUATORIAL_RADIUS_KM](doc/-j-u-p-i-t-e-r_-e-q-u-a-t-o-r-i-a-l_-r-a-d-i-u-s_-k-m.md)
const val [JUPITER_EQUATORIAL_RADIUS_KM](doc/-j-u-p-i-t-e-r_-e-q-u-a-t-o-r-i-a-l_-r-a-d-i-u-s_-k-m.md): [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html) = 71492.0
The equatorial radius of Jupiter, expressed in kilometers. | | [JUPITER_MEAN_RADIUS_KM](doc/-j-u-p-i-t-e-r_-m-e-a-n_-r-a-d-i-u-s_-k-m.md)
const val [JUPITER_MEAN_RADIUS_KM](doc/-j-u-p-i-t-e-r_-m-e-a-n_-r-a-d-i-u-s_-k-m.md): [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html) = 69911.0
The volumetric mean radius of Jupiter, expressed in kilometers. | | [JUPITER_POLAR_RADIUS_KM](doc/-j-u-p-i-t-e-r_-p-o-l-a-r_-r-a-d-i-u-s_-k-m.md)
const val [JUPITER_POLAR_RADIUS_KM](doc/-j-u-p-i-t-e-r_-p-o-l-a-r_-r-a-d-i-u-s_-k-m.md): [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html) = 66854.0
The polar radius of Jupiter, expressed in kilometers. | | [KM_PER_AU](doc/-k-m_-p-e-r_-a-u.md)
const val [KM_PER_AU](doc/-k-m_-p-e-r_-a-u.md): [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html) = 1.4959787069098932E8
The number of kilometers in one astronomical unit (AU). | | [MILLISECONDS_PER_DAY](doc/-m-i-l-l-i-s-e-c-o-n-d-s_-p-e-r_-d-a-y.md)
const val [MILLISECONDS_PER_DAY](doc/-m-i-l-l-i-s-e-c-o-n-d-s_-p-e-r_-d-a-y.md): [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)
The number of milliseconds in a day. | | [MINUTES_PER_DAY](doc/-m-i-n-u-t-e-s_-p-e-r_-d-a-y.md)
const val [MINUTES_PER_DAY](doc/-m-i-n-u-t-e-s_-p-e-r_-d-a-y.md): [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)
The number of minutes in a day. | | [RAD2DEG](doc/-r-a-d2-d-e-g.md)
const val [RAD2DEG](doc/-r-a-d2-d-e-g.md): [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html) = 57.29577951308232
The factor to convert radians to degrees = 180/pi. | | [RAD2HOUR](doc/-r-a-d2-h-o-u-r.md)
const val [RAD2HOUR](doc/-r-a-d2-h-o-u-r.md): [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html) = 3.819718634205488
The factor to convert radians to sidereal hours = 12/pi. | | [SECONDS_PER_DAY](doc/-s-e-c-o-n-d-s_-p-e-r_-d-a-y.md)
const val [SECONDS_PER_DAY](doc/-s-e-c-o-n-d-s_-p-e-r_-d-a-y.md): [Double](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html)
The number of seconds in a day. |