1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code]. 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.