Пусть хz - ось зеркальной симметрии, тогда координата "yzi" i-ой точки фигуры в системе координат (xz, yz) определяется по формуле:
yzi= (yi-yf)*cos(A)-(xi-xf)*sin(A),
где xf, yf - координаты любой точки на оси зеркальной симметрии,
xi, yi - координаты отображаемой точки в системе координат экрана,
A - угол наклона оси симметрии относительно оси "x" по часовой стрелке.
Тогда координаты отраженной точки в системе координат (X0Y) определяются по формулам:
xf xoi xi X
0 xoi = xi + 2*yzi*sin(A);
yf * yoi = yi - 2*yzi*cos(A);
yi
yoi
XZ
Y YZ
Приведем пример операторов для расчета координат xo[ i], yo[ i] точек фигуры зеркально отображенной относительно оси, наклоненной под углом "A" и проходящей через точку с координатами xf, yf.
for i:= 1 to N do begin
yzi:= round((y[i]-yf)*cos(A) - (x[i]-xf)*sin(A));
xo[i]:= x[i] + 2*round(yzi*sin(A));
yo[i]:= y[i] - 2*round(yzi*cos(A))
end;