необходимо нарисовать Гиперболический цилиндр и гиперболу без различий делфи либо паскаль
Необходимо нарисовать Гиперболический цилиндр и гиперболу без различий делфи либо паскаль ну и чтобы он вертелся (вертелся)
Задать свой вопрос1 ответ
Валентина
Перед комментом "ETO FUNTTSIYA!!!" вобьешь уравнения
uses crt,graphabc;const T = 100; N = 5;var i,j,i1,j1,mn:integer;var alpha:real;type ColorType=integer;type Point = record; x, y:integer; end;type Point3D = record; x, y:integer; end;
const Lx = -100; Ly = -100; Lz = -100;procedure osi;begin setpenwidth(3); line(400,0,400,800); line(0,400,800,400); line(800,0,0,800);end;
function to2DX(x,y,z:integer; phi:real):integer;var x1, y1, z1: integer; begin x1 := trunc( x * cos(phi) - y * sin(phi) ); y1 := trunc( x * sin(phi) + y * cos(phi) ); z1 := z; to2DX := 400 + y1 - trunc(0.3 * x1); end; function to2DY(x,y,z:integer; phi:real):integer;var x1, y1, z1: integer; begin x := trunc( x * cos(phi) - y * sin(phi) ); y := trunc( x * sin(phi) + y * cos(phi) ); z1 := z; to2DY := 400 - z + trunc(0.4 * x); end;
procedure line3d(x,y,z,x1,y1,z1:integer; phi:real);begin line(to2DX(x,y,z, phi), to2Dy(x,y,z, phi), to2DX(x1,y1,z1, phi), to2Dy(x1,y1,z1, phi))end;
procedure lineto3d(x1,y1,z1:integer; phi:real);begin lineto(to2DX(x1,y1,z1, phi),to2Dy(x1,y1,z1, phi))end;
procedure moveto3d(x1,y1,z1:integer; phi:real);begin moveto(to2DX(x1,y1,z1, phi),to2Dy(x1,y1,z1, phi))end;
procedure drawTriangle(x1, y1, z1, x2, y2, z2, x3, y3, z3 : integer; phi:real);var Triangle : array[1..3] of Point;var nx, ny, nz : real;var CS, S:real;begin Triangle[1].x := to2dx(x1, y1, z1, phi); Triangle[1].y := to2dy(x1, y1, z1, phi); Triangle[2].x := to2dx(x2, y2, z2, phi); Triangle[2].y := to2dy(x2, y2, z2, phi); Triangle[3].x := to2dx(x3, y3, z3, phi); Triangle[3].y := to2dy(x3, y3, z3, phi); x1 := x3 - x1; y1 := y3 - y1; z3 := z3 - z1; x2 := x3 - x2; y2 := y3 - y2; z3 := z3 - z2; nx := y1 * z2 - y2 * z1; ny := z1 * x2 - z2 * x1; nz := x1 * y2 - x2 * y1;
try CS := абс( (nx * Lx + ny * Ly + nz * Lz) / sqrt(nx*nx + ny*ny + nz*nz) / sqrt(Lx*Lx + Ly*ly + Lz*Lz) ); setbrushcolor(rgb(trunc(100 * CS), trunc(100 * CS), trunc(100 * CS))); setpencolor(rgb(trunc(100 * CS), trunc(100 * CS), trunc(100 * CS))); Polygon(Triangle, 3); except end;end;
procedure draw(f: function(x,y:real):real; color1:colortype; phi:real);beginsetpenwidth(1);setpencolor(color1);for j1:=-trunc(T/N) to trunc(T/N) dobeginj:=j1*N;moveto3d(j,-T,trunc(f(j,-T)), phi);for i1:=-trunc(T/N) to trunc(T/N) dobegini:=i1*N;lineto3d(j,i,trunc(f(j,i)), phi);end;
end;for i1:=-trunc(T/N) to trunc(T/N) dobegini:=i1*N;moveto3d(-T,i,trunc(f(-T,i)), phi);for j1:=-trunc(T/N) to trunc(T/N) dobeginj:=j1*N;lineto3d(j,i,trunc(f(j,i)), phi);end;
end;end;
function p(x,y:real):real;var a:integer;begintryp:=sin((x * x - y * y) / 2000) * 50; ETO FUNTTSIYA!!!except p:=1;end;end;
beginlockdrawing;setwindowheight(800);setwindowwidth(800);alpha := 0;while true dobeginclearwindow();draw(p, rgb(255, 0, 0), alpha);redraw;alpha := alpha - 0.03;delay(5);end;
end.
uses crt,graphabc;const T = 100; N = 5;var i,j,i1,j1,mn:integer;var alpha:real;type ColorType=integer;type Point = record; x, y:integer; end;type Point3D = record; x, y:integer; end;
const Lx = -100; Ly = -100; Lz = -100;procedure osi;begin setpenwidth(3); line(400,0,400,800); line(0,400,800,400); line(800,0,0,800);end;
function to2DX(x,y,z:integer; phi:real):integer;var x1, y1, z1: integer; begin x1 := trunc( x * cos(phi) - y * sin(phi) ); y1 := trunc( x * sin(phi) + y * cos(phi) ); z1 := z; to2DX := 400 + y1 - trunc(0.3 * x1); end; function to2DY(x,y,z:integer; phi:real):integer;var x1, y1, z1: integer; begin x := trunc( x * cos(phi) - y * sin(phi) ); y := trunc( x * sin(phi) + y * cos(phi) ); z1 := z; to2DY := 400 - z + trunc(0.4 * x); end;
procedure line3d(x,y,z,x1,y1,z1:integer; phi:real);begin line(to2DX(x,y,z, phi), to2Dy(x,y,z, phi), to2DX(x1,y1,z1, phi), to2Dy(x1,y1,z1, phi))end;
procedure lineto3d(x1,y1,z1:integer; phi:real);begin lineto(to2DX(x1,y1,z1, phi),to2Dy(x1,y1,z1, phi))end;
procedure moveto3d(x1,y1,z1:integer; phi:real);begin moveto(to2DX(x1,y1,z1, phi),to2Dy(x1,y1,z1, phi))end;
procedure drawTriangle(x1, y1, z1, x2, y2, z2, x3, y3, z3 : integer; phi:real);var Triangle : array[1..3] of Point;var nx, ny, nz : real;var CS, S:real;begin Triangle[1].x := to2dx(x1, y1, z1, phi); Triangle[1].y := to2dy(x1, y1, z1, phi); Triangle[2].x := to2dx(x2, y2, z2, phi); Triangle[2].y := to2dy(x2, y2, z2, phi); Triangle[3].x := to2dx(x3, y3, z3, phi); Triangle[3].y := to2dy(x3, y3, z3, phi); x1 := x3 - x1; y1 := y3 - y1; z3 := z3 - z1; x2 := x3 - x2; y2 := y3 - y2; z3 := z3 - z2; nx := y1 * z2 - y2 * z1; ny := z1 * x2 - z2 * x1; nz := x1 * y2 - x2 * y1;
try CS := абс( (nx * Lx + ny * Ly + nz * Lz) / sqrt(nx*nx + ny*ny + nz*nz) / sqrt(Lx*Lx + Ly*ly + Lz*Lz) ); setbrushcolor(rgb(trunc(100 * CS), trunc(100 * CS), trunc(100 * CS))); setpencolor(rgb(trunc(100 * CS), trunc(100 * CS), trunc(100 * CS))); Polygon(Triangle, 3); except end;end;
procedure draw(f: function(x,y:real):real; color1:colortype; phi:real);beginsetpenwidth(1);setpencolor(color1);for j1:=-trunc(T/N) to trunc(T/N) dobeginj:=j1*N;moveto3d(j,-T,trunc(f(j,-T)), phi);for i1:=-trunc(T/N) to trunc(T/N) dobegini:=i1*N;lineto3d(j,i,trunc(f(j,i)), phi);end;
end;for i1:=-trunc(T/N) to trunc(T/N) dobegini:=i1*N;moveto3d(-T,i,trunc(f(-T,i)), phi);for j1:=-trunc(T/N) to trunc(T/N) dobeginj:=j1*N;lineto3d(j,i,trunc(f(j,i)), phi);end;
end;end;
function p(x,y:real):real;var a:integer;begintryp:=sin((x * x - y * y) / 2000) * 50; ETO FUNTTSIYA!!!except p:=1;end;end;
beginlockdrawing;setwindowheight(800);setwindowwidth(800);alpha := 0;while true dobeginclearwindow();draw(p, rgb(255, 0, 0), alpha);redraw;alpha := alpha - 0.03;delay(5);end;
end.
Аделина
Program1.pas(15) : Встречено 'function', а ожидался оператор пишет?)
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
10) Килограмм конфет дороже килограмма печенья на 52 р. За 8
Математика.
Во сколько раз число атомов кислорода в земной коре больше числа
Химия.
Облако тегов