|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.05.2012, 16:31 | #1 |
Новичок
Джуниор
Регистрация: 02.05.2012
Сообщений: 1
|
графика спутник земли
люди помогите пожалуйста переписать программу на winapi с паскаля ,вообще надо переделать на с++ ,но мне сказали что на с++ нет графики
вот программа program meny; uses crt, graph, dos; var r1:longint;{radius v kvadrat budem vozvodit} d,n,i1,xc,yc,x,y,r:integer; h,b,h1:real; a1:array[1..21] of real;{massiv diametrov parallelei} {konec} gd, gm, i: integer; procedure spu (a:integer); {procedura risovaniya sputnika} const GRAD = 0.0174532; {constanta perescheta ugla: radian-gradus} var zx, zy: integer; begin zx:=Round(320+r*sin(a*GRAD)); {schitaem koordinatu X} zy:=Round(240-r*cos(a*GRAD)); {schitaem koordinatu Y} delay(5000); {zhdem} setfillstyle(1,14); fillellipse(zx, zy, 10,10); {zakrashivaem staruyu prorisovku} delay(5000); {zhdem} setcolor(0); setfillstyle(0,0); fillellipse(zx, zy, 10,10); {zakrashivaem staruyu prorisovku} end; begin writeln ( ' ', ' vvedite radius zemli ot 90-160'); readln (r1); writeln (' vvedite radius sputnika ot 160-210 ' ); readln(r) ; gd:=DETECT; i:=1; initgraph(gd, gm, ''); {initsializiruem grafiku {nachalo} d:=2*r1;{diametr} n:=15;{kolichestvo parallelei} h:=d/(n+2);{rasstoyanie mezhdu parallelami} a1[n div 2+1]:=d;{ekvator} for i1:=n div 2 downto 1 do {po ubivaniyu k polusam} begin a1[i1]:=2*sqrt(r1*r1-sqr((n div 2-i1+1)*h));{diametri parallelei} a1[n-i1+1]:=2*sqrt(r1*r1-sqr((n div 2-i1+1)*h)); end; xc:=getmaxX div 2;{centr} yc:=(getmaxY-d) div 2; setfillstyle(1,1); fillellipse (xc,yc+round((n div 2+1)*h+h/2),r1,r1); setcolor(0); for i1:=1 to n do {risuem paralleli} ellipse(xc,yc+round((2*i1-1)*(h/2)+h),0,360,round(a1[i1]/2),round(h)); h1:=r1/(n-1);{polovina rasstoyaniy mezhdu meredianami} for i1:=1 to n div 2 do{v 2 raza menshe,poskolku i sprava i sleva ot seredini} begin b:=2*i1*h1;{malaya os ellipsa} SETCOLOR(0); ellipse(xc,yc+round((n div 2+1)*h+h/2),0,360,round(b),r1); {risuem} end; line(xc,yc,xc,yc+d);{sredniimeridia n} readln; {konec} setfillstyle(1,7); { nebo nachalo} fillellipse(500,50,15,13); for i:=1 to 600 do begin x:= random(640); y:=random(480); putpixel(x,y,7); end; { nebo konec} while not keypressed do begin {cikl poka ne nazhata klavisha} if i=360 then i:=1; {esli ugol 360 gradusov, to snova 1 gradus} spu(i); {risuem sputnik po uhlu i} i:=i+1; {plusuem ugol} end; closegraph; {zakryvaem grafiku} end. |
02.05.2012, 20:53 | #2 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
WinAPI один и тот же и не зависит от выбранного языка программирования.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
и опять спутник не взлетел | Juffin | Свободное общение | 31 | 24.12.2011 11:56 |
Симулятор Земли | VlS81 | Свободное общение | 30 | 09.11.2011 13:04 |
По силам ли студенту сбить спутник? | Levsha100 | Свободное общение | 53 | 05.11.2010 16:11 |
как найти человека через спутник по номеру мобильного телефона | Илюха | Свободное общение | 15 | 22.09.2009 13:10 |