Skip to main content

Matrix3x2

Struct Matrix3x2 

Source
pub struct Matrix3x2 {
    pub e11: f64,
    pub e12: f64,
    pub e21: f64,
    pub e22: f64,
    pub e31: f64,
    pub e32: f64,
}
Expand description

A struct representing a 3x2 matrix.

This struct is used to store the transformation matrix for transforming a 2D vector into a 3D vector.

Namely, it is used in the transform_pqw_vector method to tilt a 2D position into 3D, using the orbital parameters.

Each element is named eXY, where X is the row and Y is the column.

§Example

use glam::{DVec2, DVec3};

use keplerian_sim::Matrix3x2;

let matrix = Matrix3x2 {
   e11: 1.0, e12: 0.0,
   e21: 0.0, e22: 1.0,
   e31: 0.0, e32: 0.0,
};

let vec = DVec2::new(1.0, 2.0);

let result = matrix.dot_vec(vec);

assert_eq!(result, DVec3::new(1.0, 2.0, 0.0));

Fields§

§e11: f64§e12: f64§e21: f64§e22: f64§e31: f64§e32: f64

Implementations§

Source§

impl Matrix3x2

Source

pub const ZERO: Self

The zero matrix.

Multiplying a vector with this results in a vector of zero length.

Source

pub const IDENTITY: Self

The identity matrix.

Multiplying a vector with this results in the same vector.

Source

pub fn dot_vec(&self, vec: DVec2) -> DVec3

Computes a dot product between this matrix and a 2D vector.

§Example
use glam::{DVec2, DVec3};

use keplerian_sim::Matrix3x2;

let matrix = Matrix3x2 {
    e11: 1.0, e12: 0.0,
    e21: 0.0, e22: 1.0,
    e31: 1.0, e32: 1.0,
};

let vec = DVec2::new(1.0, 2.0);

let result = matrix.dot_vec(vec);

assert_eq!(result, DVec3::new(1.0, 2.0, 3.0));

Trait Implementations§

Source§

impl Clone for Matrix3x2

Source§

fn clone(&self) -> Matrix3x2

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Matrix3x2

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Matrix3x2

Source§

fn default() -> Matrix3x2

Returns the “default value” for a type. Read more
Source§

impl PartialEq for Matrix3x2

Source§

fn eq(&self, other: &Matrix3x2) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for Matrix3x2

Source§

impl StructuralPartialEq for Matrix3x2

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.