y"> вісь обертання (x, y, z-компоненти);
В· кут повороту;
В· вибір між обертанням і поворотом;
2.7 Вихідні дані
Вихідними даними програмного забезпечення Pyramide є:
В· виведене зображення піраміди;
3. Текст програми
# include
# include
# pragma hdrstop
# include "cursesrc.h"
# pragma package (smart_init)
# pragma resource "*. dfm" * mainform; rv [3]; float angle;// кут і вектор обертання
# define vv 5.2
float vvminx =-vv, vvminy =-vv, vvminz = 0,// ​​значення спостережуваних мінімумів = vv, vvmaxy = vv, vvmaxz = vv,// ​​значення спостережуваних максимумів = 8, vpy = 10 , vpz = 6.4,// ​​точка спостереження = 16,// ​​відстань до спостерігача, cosine,// ​​змінні для зберігання синуса і косинуса, prjminy, prjmaxx, prjmaxy ;//відстані до площини проекції
# undef vvgrmaxx, grmaxy ;//величина x і y на ізображенііxcoef, ycoef;// тимчасові коеффіціентиpyramid3d {float v [6] [3];};// 5 вершин: верхівка і 4 інші вершіниd pyra = {{{2, 0, 5},// ​​верх піраміди
// ^ ^ ^ ^ ^ ^ ^ ^ ^ база ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
{-3, -3, 0},// ​​координати 1-ої вершини
{-2, 2, 0},// ​​координати 2-ий вершини
{2, 2, 0},// ​​координати 3-ей вершини
{4, 0, 0},// ​​координати 4-їй вершини
{2, -2, 0}}};// координати 5-ої вершини
// ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ pyr_color = clBlack;
// *** прототипи функцій *** drawpyra (pyramid3d & pyraref);// промальовує 3d пірамідуcalcx (float x, float y, float z);// обчислює екранну координату OXcalcy (float x , float y, float z);// обчислює екранну координату OY
// *************************** void imgline (int left, int top, int right, int bottom)
{mainform -> viewport -> Canvas -> MoveTo (left, top); mainfo rm -> viewport -> Canvas -> LineTo (right, bottom);} wrongvals = false; initpaint ()// ініціалізація параметрів для промальовування
{if (mainform -> rv_xval -> Text == "" | | mainform -> rv_yval -> Text == "" | | mainform -> rv_zval -> Text == "")
{for (int i = 0; i <3; i + +) rv [i] = 0;} {[0] = mainform -> rv_xval -> Text.ToInt (); [ 1] = mainform -> rv_yval -> Text.ToInt (); [2] = mainform -> rv_zval -> Text.ToInt ();
} tmpval = sqrt (rv [0] * rv [0...