Expand description
§Simple coordinate frame conversions
This crate aims at supporting simple conversions between different standard and non-standard
coordinate frames. One potential use-case is in prototyping IMU sensor data where multiple
inertial or field sensors may be mounted in different orientations. These can then be expressed
in terms of coordinate frames such as EastNorthUp
and trivially converted
to whatever basis you prefer, for example NorthEastDown
.
§Example
use coordinate_frame::{NorthEastDown, NorthEastUp};
// Construct a coordinate in one reference frame.
let neu = NorthEastUp::new(1.0, 2.0, 3.0);
assert_eq!(neu.north(), 1.0);
assert_eq!(neu.east(), 2.0);
assert_eq!(neu.up(), 3.0);
// Note that "non-native" axes are also available.
assert_eq!(neu.down(), -3.0);
// You can transform it into a different frame.
let ned: NorthEastDown<_> = neu.into();
assert_eq!(ned.north(), 1.0);
assert_eq!(ned.east(), 2.0);
assert_eq!(ned.down(), -3.0);
// Information is available as you'd expect.
assert_eq!(ned, &[1.0, 2.0, -3.0]);
assert_eq!(ned.x(), 1.0);
assert_eq!(ned.z(), -3.0);
// Base vectors are also provided.
let axis = NorthEastDown::<f64>::z_axis();
assert_eq!(axis, [0.0, 0.0, 1.0]);
Structs§
- Down
East North - A down, east and north frame (left-handed)
- Down
East South - A down, east and south frame (right-handed)
- Down
North East - A down, north and east frame (right-handed)
- Down
North West - A down, north and west frame (left-handed)
- Down
South East - A down, south and east frame (left-handed)
- Down
South West - A down, south and west frame (right-handed)
- Down
West North - A down, west and north frame (right-handed)
- Down
West South - A down, west and south frame (left-handed)
- East
Down North - A east, down and north frame (right-handed)
- East
Down South - A east, down and south frame (left-handed)
- East
North Down - A east, north and down frame (left-handed)
- East
North Up - A east, north and up frame (right-handed, geography)
- East
South Down - A east, south and down frame (right-handed)
- East
South Up - A east, south and up frame (left-handed)
- East
UpNorth - A east, up and north frame (left-handed)
- East
UpSouth - A east, up and south frame (right-handed)
- North
Down East - A north, down and east frame (left-handed)
- North
Down West - A north, down and west frame (right-handed)
- North
East Down - A north, east and down frame (right-handed, aeronautics)
- North
East Up - A north, east and up frame (left-handed)
- North
UpEast - A north, up and east frame (right-handed)
- North
UpWest - A north, up and west frame (left-handed)
- North
West Down - A north, west and down frame (left-handed)
- North
West Up - A north, west and up frame (right-handed)
- South
Down East - A south, down and east frame (right-handed)
- South
Down West - A south, down and west frame (left-handed)
- South
East Down - A south, east and down frame (left-handed)
- South
East Up - A south, east and up frame (right-handed)
- South
UpEast - A south, up and east frame (left-handed)
- South
UpWest - A south, up and west frame (right-handed)
- South
West Down - A south, west and down frame (right-handed)
- South
West Up - A south, west and up frame (left-handed)
- UpEast
North - A up, east and north frame (right-handed)
- UpEast
South - A up, east and south frame (left-handed)
- UpNorth
East - A up, north and east frame (left-handed)
- UpNorth
West - A up, north and west frame (right-handed)
- UpSouth
East - A up, south and east frame (right-handed)
- UpSouth
West - A up, south and west frame (left-handed)
- UpWest
North - A up, west and north frame (left-handed)
- UpWest
South - A up, west and south frame (right-handed)
- West
Down North - A west, down and north frame (left-handed)
- West
Down South - A west, down and south frame (right-handed)
- West
North Down - A west, north and down frame (right-handed)
- West
North Up - A west, north and up frame (left-handed)
- West
South Down - A west, south and down frame (left-handed)
- West
South Up - A west, south and up frame (right-handed)
- West
UpNorth - A west, up and north frame (right-handed)
- West
UpSouth - A west, up and south frame (left-handed)
Enums§
- Coordinate
Frame Type - A coordinate frame type.
- Parse
Coordinate Frame Error
Traits§
- Coordinate
Frame - A coordinate frame.
- Left
Handed - Marks a left-handed coordinate system.
- Right
Handed - Marks a right-handed coordinate system.
- Saturating
Neg - Performs a saturating negation.
- ZeroOne
- Provides the values zero and one.