|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Симметричное отображение фигуры
Пусть х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;
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |