#include #include using namespace std; typedef complex point; point transmission(const point &p, const point &u); point congruence(const point &p, const point &o, const double &coe); point pointSym(const point &p, const point &s); point lineSym(const point &p, const point &l1, const point &l2); point rotate(const point &p, const point &o, const double &theta); int main() { return 0; } point transmission(const point &p, const point &u) { return p + u; } point congruence(const point &p, const point &o, const double &coe) { return coe * (p - o) + o; } point pointSym(const point &p, const point &s) { return 2. * s - p; } point lineSym(const point &p, const point &l1, const point &l2) { return conj((p - l1) / (l2 - l1)) * (l2 - l1) + l1; } point rotate(const point &p, const point &o, const double &theta) { return (p - o) * exp(point(0., theta)) + o; }