Процедура Ваr3D

Вычерчивает трехмерное изображение параллелепипеда и закрашивает его переднюю грань . Заголовок:

Procedure Ваr3D (X1,Y1,X2,Y2,Depth: Integer; Top: Boolean);

Здесь X1... Y2 – координаты левого верхнего (X1, Y1) и правого нижнего (Х2, Y2) углов передней грани; Depth – третье измерение трехмерного изображения («глубина») в пикселях; Тор – способ изображения верхней грани.

Если параметр Тор имеет значение True, верхняя грань параллелепипеда вычерчивается, в противном случае - не вычерчивается (этот вариант используется для изображения поставленных друг на друга параллелепипедов, см. следующий пример). В качестве значения этого параметра может использоваться одна из следующих констант, определенных в модуле Graph:

const

TopOn = True;

TopOff = False;

При вычерчивании используется текущий стиль линий (SetLineStyle) и текущий цвет (SetColor). Передняя грань заливается текущим стилем заполнения (SetFillStyle).

Процедура обычно применяется при построении столбиковых диаграмм. Следует учесть, что параллелепипед «прозрачен», т.е. за его незакрашенными гранями могут быть видны другие элементы изображения.

Следующая программа иллюстрирует различные аспекты применения процедуры Bar3D.

Uses Graph,CRT;

var

d, r, e: Integer;

begin

{Инициируем графику}

d := Detect;

Ini-tGraph(d, r, ' ') ;

e := GraphResult;

if e <> grOk then

WriteLn(GraphErrorMsg(e))

else

begin

{Столбик с верхней гранью:}

Bar3D (80, 100, 120, 180, 15, TopOn);

{Столбик без верхней грани:}

Ваг3D (150, 150, 190, 180, 15, TopOff);

{Этот столбик "стоит" на следующем и прозрачен:}

Bar3D (230, 50, 250, 150, 15, TopOn);

Bar3D (220, 150, 260, 180, 15, TopOn);

{У этого столбика нет верхней грани, и поэтому он не мешает поставленному на него сверху:}

Bar3D (300, 150, 340, 180, 15, TopOff);

SetLineStyle(3,0,1);

SetColor(Yellow);

SetFillStyle(LtSlashFill,Yellow);

Bar3D (300, 50, 340, 150, 15, TopOn);

if ReadKey=#0 then d := ord(ReadKey);

CloseGraph;

end

end.