1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code]. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
КУБИК 3D ГРАФИКА, ПОМОГИТЕ ПОЖАЛУЙСТА... СРОЧНО НАДО...
НАДО НАРИСОВАТЬ МОДЕЛЬ КАРКАСА КУБА... ДЕЛАЛ ПРОГУ ПО НЕМНЮГИНУ... ЕСТЬ ДВЕ ОТДЕЛЬНЫЕ ПРОГИ.. В ОДНОЙ ОПИСАНИЕ МОДУЛЯ GRAPHS3D, А В ДРУГОЙ ПОСТРОЕНИЕ САМОГО КУБА... ПРОГРАММА ЗАПУСКАЕТСЯ.. НО ОТОБРАЖАЕТСЯ ПАРАЛЕЛЛОГРАМ... ПОМОГИТЕ ПОЖАЛУЙСТА СДЕЛАТЬ ДО КОНЦА ПРОГУ...
Unit graphs3d; interface uses Dos, crt, graph; type vector = array[1..3] of real; promt = array[1..4] of vector; prom = array[1..3] of vector; var abs_x_center, abs_y_center : integer;
procedure open_graph; procedure close_graph; procedure out_text_XY(ss : string; x,y : integer; color : word); procedure norm_line(x0, y0, x1, y1 : integer; color : word); procedure put_pixel(x, y : integer; color : word); procedure computer_iso (var P: prom); procedure computer_dim (alpha:Real; var P: prom); procedure computer_ob_matr (alpha:Real; var P: prom); procedure thach(const P : prom; const x, y, z : real; const u0, v0 : integer; var u, v : integer);
implementation
var hold_color : word;
procedure open_graph; var GraphDriver, GraphMode : integer; begin GraphDriver := VGA; GraphMode := VGAHi; InitGraph(GraphDriver, GraphMode, '..\bgi'); setBkColor(black); SetColor(white); SetTextStyle(SansSerifFont, HorizDir, 4); SetTextJustify(LeftText, BottomText); abs_x_center := (GetMaxX + 1) div 2; abs_y_center := (GetMaxY + 1) div 2; end;
procedure Close_graph; var gr: integer; begin CloseGraph; gr := GraphResult; if gr <> 0 then begin writeln('GraphResult = ', gr); readln; halt; end; end;
procedure out_text_XY(ss : string; x, y : integer; color : Word); begin hold_color := getcolor; setcolor(color); OutTextXY(x + abs_x_center, abs_y_center - y, ss); setcolor(hold_color); end;
procedure thach(const p: prom; const x, y, z : real; const u0, v0 : integer; var u, v : integer); begin u := u0 + round(p[1, 1] * x + p[2, 1] * y + p[3, 1] * z); v := v0 + round(p[1, 2] * x + p[2, 2] * y + p[3, 2] * z); end; end.