Симметричное отображение фигуры

Пусть х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;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: