Add comments
This commit is contained in:
parent
6965d7360e
commit
1cf2518568
|
|
@ -41,7 +41,9 @@ pub fn main() {
|
|||
}
|
||||
|
||||
struct Location {
|
||||
/// Положение в основной СК
|
||||
pos: Vec2,
|
||||
/// Преобразование вектора из локальной ортонормированной в основную СК
|
||||
rot: Mat2,
|
||||
}
|
||||
|
||||
|
|
@ -78,6 +80,7 @@ impl Space {
|
|||
}
|
||||
|
||||
/// Выполняет один шаг трассировки. Работает в любой части пространства, но вне Boundary доступны более эффективные методы.
|
||||
/// ray задаётся в основной СК.
|
||||
fn trace_step(&self, ray: Ray) -> Ray {
|
||||
let a: Vec2 = -riemann::contract2(riemann::krist(&self.rect, ray.pos), ray.dir);
|
||||
let v = ray.dir + a * DT;
|
||||
|
|
@ -85,7 +88,8 @@ impl Space {
|
|||
Ray { pos: p, dir: v }
|
||||
}
|
||||
|
||||
/// Выполняет один шаг перемещения. Работает в любой части пространства, но вне Boundary доступны более эффективные методы.
|
||||
/// Выполняет один шаг перемещения. Работает в любой части пространства.
|
||||
/// off задаётся в локальной СК. Рекомендуется считать небольшими шагами.
|
||||
fn move_step(&self, loc: Location, off: Vec2) -> Location {
|
||||
let corr = Mat2::IDENTITY - riemann::contract(riemann::krist(&self.rect, loc.pos), loc.rot * off);
|
||||
let p = loc.pos + corr * loc.rot * off;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user