CGL_1_B 反射
目次
# 問題
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=CGL_1_B&lang=ja
ベクトルOAがなす直線に対して点Pの線対称の点Qをもとめる問題
# 解説
前回の問題CGL_1_Aを利用する.
前回射影を求めたので、射影の点をMとするとMはPQのちょうど中点なので、
# 解答
void reflection(Vector2 start_, Vector2 end_, Vector2 p) {
Vector2 v = end_ - start_;
Vector2 b = start_ + v * (v.dot(p - start_) / v.norm());
Vector2 op = p + ((b - p) * 2);
cout << op.x << ' ' << op.y << endl;
}
#define MAX_N 1001
Int N;
Vector2 start_, end_, p;
void input() {
cin >> start_ >> end_ >> N;
while (cin >> p) {
reflection(start_, end_, p);
}
}
int main() {
cout.precision(15);
input();
}