壁の法線ベクトル N=(Y2-Y1,-X2+X1)
Nの大きさ n=SQR((Y2-Y1)*(Y2-Y1)+(X2-X1)*(X2-X1))
速度 V=(X#,Y#)
なので、
内積 p=(N/n)・V=((Y2-Y1)*X#+(-X2+X1)*Y#)/n
(pの -2倍)*(N/n)を、Vに足せばいいので
X#=-2*p*(Y2-Y1)/n+X#
Y#=-2*p*(-X2+X1)/n+Y#
ベクトルの式とプチコンの式がごちゃまぜです(
これとは別で
速度を壁に垂直な方向と水平な方向に分けて、
垂直な方向を-1倍するという方法考えたんですが、
壁に垂直な方向が a*(Y2-Y1,-X2+X1)、
水平な方向が b*(X2-X1,Y2-Y1) と置いて、
a*(Y2-Y1,-X2+X1)+b*(X2-X1,Y2-Y1)=(X#,Y#)
これを連立方程式として解いてaとbを求めれば...
(計算過程省略)
n2=(Y2-Y1)*(Y2-Y1)+(X2-X1)*(X2-X1)とおくと(nの2乗)
a=((X#*(Y2-Y1)+Y#*(-X2+X1))/n2
b=((X#*(X2-X1)+Y#*(Y2-Y1))/n2
あとはaを-1倍して足せば、
X#=-a*(Y2-Y1)+b*(X2-X1)
Y#=-a*(-X2+X1)+b*(Y2-Y1)