Dolda2000 GitWeb
/
kaka
/
rust-sdl-test.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Bounce bolls off of walls in a proper angle
[kaka/rust-sdl-test.git]
/
src
/
common
/
geometry.rs
diff --git
a/src/common/geometry.rs
b/src/common/geometry.rs
index
e46f23e
..
ebf122a
100644
(file)
--- a/
src/common/geometry.rs
+++ b/
src/common/geometry.rs
@@
-173,16
+173,21
@@
pub struct Radians(pub f64);
impl Degrees {
#[allow(dead_code)]
impl Degrees {
#[allow(dead_code)]
- fn to_radians(&self) -> Radians {
+
pub
fn to_radians(&self) -> Radians {
Radians(self.0.to_radians())
}
}
impl Radians {
#[allow(dead_code)]
Radians(self.0.to_radians())
}
}
impl Radians {
#[allow(dead_code)]
- fn to_degrees(&self) -> Degrees {
+
pub
fn to_degrees(&self) -> Degrees {
Degrees(self.0.to_degrees())
}
Degrees(self.0.to_degrees())
}
+
+ /// Returns the reflection of the incident when mirrored along this angle.
+ pub fn mirror(&self, incidence: Radians) -> Radians {
+ Radians((std::f64::consts::PI + self.0 * 2.0 - incidence.0) % std::f64::consts::TAU)
+ }
}
////////// INTERSECTION ////////////////////////////////////////////////////////
}
////////// INTERSECTION ////////////////////////////////////////////////////////