1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Есть программа, которая осуществляет вращение пирамиды с треугольным основанием, как из неё сделать сабж?
uses crt,graph;
type coords = record x,y,z:byte; end; type save = record q,w,e,r: coords; t:byte; end;
var a,b,c,d:coords; alpha,r,dx1,dy1,dx2,dy2,x,y,z,mx,my,mz,gm,gd:integer; alp: real ; ca:char; s:string; f:file of save; f1: save; BEGIN repeat clrscr; gm:=detect; writeln('Press "1" to enter new coords'); Writeln('Press "2" to read coords from file'); Writeln('Press "3" to EXIT'); readln®; if r=1 then begin clrscr; writeln('Enter A(x,y,z)'); readln(a.x,a.y,a.z); writeln('Enter B(x,y,z)'); readln(b.x,b.y,b.z); writeln('Enter C(x,y,z)'); readln(c.x,c.y,c.z); writeln('Enter D(x,y,z)'); readln(d.x,d.y,d.z); writeln('Enter Alpha'); readln(alpha); end; if r=2 then begin clrscr; writeln('Enter name of file'); readln(s); assign(f,s); reset(f); read(f,f1); a:=f1.q; b:=f1.w; c:=f1.e; d:=f1.r; alpha:=f1.t; end; if r=3 then break; { alpha:=45;
dy1:=round(cos(alp)*b.y); dx1:=round(sin(alp)*b.y); dy2:=round(cos(alp)*d.y); dx2:=round(sin(alp)*d.y); line(200+b.x-dx1,280-b.z+dy1,200+d.x-dx2,280-d.z+dy2); ca:=readkey; if ca = 'w' then alpha:=alpha+1; if ca = 's' then alpha:=alpha-1; if alpha=361 then alpha:=1; if alpha=-1 then alpha:=359; cleardevice;
until ca='q'; closegraph; clrscr; writeln('1 - Save data'); writeln('2 - Go to main menu'); writeln('3 - EXIT'); readln®; if r=1 then begin writeln('enter name of save'); readln(s); f1.q:=a; f1.w:=b; f1.e:=c; f1.r:=d; f1.t:=alpha; assign(f,s); rewrite(f); write(f,f1); end; until r=3; END.
type save = record q,w,e,r : coords; t : integer; end;
var a, b, c, d, n, m : coords; alpha, r, dx1, dy1, dx2, dy2, x, y, z, mx, my, mz, gm, gd : integer; alp : real; ca : char; s : string; f : file of save; f1 : save;
ca:=readkey; if ca = 'w' then alpha:=alpha+1; if ca = 's' then alpha:=alpha-1; if alpha=361 then alpha:=1; if alpha=-1 then alpha:=359; cleardevice;
until ca='q'; closegraph; clrscr; writeln('1 - Save data'); writeln('2 - Go to main menu'); writeln('3 - EXIT'); readln®; if r=1 then begin writeln('enter name of save'); readln(s); f1.q:=a; f1.w:=b; f1.e:=c; f1.r:=d; f1.t:=alpha; assign(f,s); rewrite(f); write(f,f1); end; until r=3; END.