nalgebra/nalgebra-glm/src/gtx/handed_coordinate_space.rs

15 lines
433 B
Rust
Raw Normal View History

2018-09-21 01:54:12 +08:00
use na::U3;
use traits::Number;
use aliases::Vec;
/// Returns `true` if `{a, b, c}` forms a left-handed trihedron.
2018-09-21 01:54:12 +08:00
pub fn left_handed<N: Number>(a: &Vec<N, U3>, b: &Vec<N, U3>, c: &Vec<N, U3>) -> bool {
a.cross(b).dot(c) < N::zero()
}
/// Returns `true` if `{a, b, c}` forms a right-handed trihedron.
2018-09-21 01:54:12 +08:00
pub fn right_handed<N: Number>(a: &Vec<N, U3>, b: &Vec<N, U3>, c: &Vec<N, U3>) -> bool {
a.cross(b).dot(c) > N::zero()
}