51 lines
1.2 KiB
C++
51 lines
1.2 KiB
C++
#pragma once
|
|
#include "board.hpp"
|
|
#include "pedestrian.hpp"
|
|
#include <cmath>
|
|
|
|
// $\tau_{\alpha}$
|
|
// https://arxiv.org/pdf/cond-mat/9805244, page 8
|
|
const double tau_alpha = 0.5;
|
|
|
|
// $V^0_{\alpha \beta}$
|
|
// https://arxiv.org/pdf/cond-mat/9805244, page 8
|
|
const double V0_AB = 2.1;
|
|
|
|
// $\sigma$
|
|
// https://arxiv.org/pdf/cond-mat/9805244, page 8
|
|
const double SIGMA = 0.3;
|
|
|
|
// $U^0_{\alpha B}$
|
|
// https://arxiv.org/pdf/cond-mat/9805244, page 8
|
|
const double U0_AB = 10.0;
|
|
|
|
// $R$
|
|
// https://arxiv.org/pdf/cond-mat/9805244, page 8
|
|
const double R = 0.2;
|
|
|
|
// $c$
|
|
// https://arxiv.org/pdf/cond-mat/9805244, page 8
|
|
const double c = 0.5;
|
|
|
|
// $\varphi$
|
|
// https://arxiv.org/pdf/cond-mat/9805244, page 8
|
|
const double phi = 100.0;
|
|
|
|
const double cos_phi = cos(phi);
|
|
|
|
// $\varDelta_{t}$
|
|
// step size = 0.2 seconds
|
|
// https://arxiv.org/pdf/cond-mat/9805244, page 8
|
|
const double delta_t = 2;
|
|
|
|
// # Optional (forces.cpp: compute_repulsive_effects_from_pedestrians)
|
|
// const double DISTANCE = 2.0;
|
|
|
|
double w(Vector2d e, Vector2d f);
|
|
|
|
void compute_acceleration_term(Pedestrian *p);
|
|
|
|
void compute_repulsive_effects_from_pedestrians(Pedestrian *P, Pedestrian *p, int N);
|
|
|
|
void compute_repulsive_effects_from_borders(Board &B, Pedestrian *p);
|