] + rv [1] * rv [1] + rv [2] * rv [2]); = (tmpval == 0 ? true: false); (wrongvals)
{(NULL, "Неправильне (і) значення (я) вказано (и) для вектора обертання."
" nБудь ласка, перевірте координати вектора обертання.",
"Попередження!", MB_OK | MB_ICONERROR);
return;
} [0]/= tmpval; rv [1]/= tmpval; rv [2]/= tmpval; = M_PI * (float) (mainform -> angleval -> Text.ToInt ())/180;
}
__fastcall Tmainform :: Tmainform (TComponent * Owner): TForm (Owner)// початок
{();
// ---------- початкові обчислення -------------- = viewport -> Width, grmaxy = viewport -> Height ; = vpy/sqrt (vpx * vpx + vpy * vpy); = vpx/sqrt (vpx * vpx + vpy * vpy); = calcx (vvmaxx, vvminy, vvminz); = calcy (vvmaxx, vvmaxy, vvminz); = calcx (vvminx, vvmaxy, vvmaxz); = calcy (vvminx, vvminy, vvmaxz); = grmaxx/(prjmaxx - prjminx);// тимчасові = grmaxy/(prjmaxy - prjminy);// коефіцієнти
// ---------------------------------------- ----> Canvas -> Pen -> Color = pyr_color;
drawpyra (pyra);// малює початкове зображення піраміди
} __fastcall Tmainform :: saveasbtnClick (TObject * Sender)
{if (savedlg -> Execute ()) viewport -> Picture -> SaveToFile (savedlg -> FileName);} __fastcall Tmainform :: restoreprjitemClick (TObject * Sender)
{if (opendlg -> Execute ()) viewport -> Picture -> LoadFromFile (opendlg -> FileName);} __fastcall Tmainform :: exititemClick (TObject * Sender)// вихід з програми
{exit (0);} __fastcall Tmainform :: aboutitemClick (TObject * Sender)// copyright info
{(NULL, "Курсова робота Чайка Миколая та Копилової Віри n"
" n ********************************** n"
"Програма реалізує висновок і обертання n"
"піраміди в центральній проекції. Парамерти n "
"обертання задаються координатами вектора n"
"обертання і кутом обертання."
,
"Про програму", MB_OK | MB_ICONQUESTION);
} calcx (float x, float y, float z)// обчислює екранну координату OX
{return (-vd * (- (x - vpx) * sine + (y - vpy) * cosine))/((x - vpx) * cosine + (y - vpy) * sine );} calcy (float x, float y, float z)//// обчислює екранну координату OY
{return-vd * (z - vpz)/((x - vpx) * cosine + (y - vpy) * sine);} drawpyra (pyramid3d & pyraref)// промальовує 3d піраміду
{i; int scrv [6] [2]; float * vptr;
for (i = 0; i <6; + + i)// обчислення екранних координат вершин
{= pyraref.v [i]; [i] [0] = (cal...