Помощь - Поиск - Пользователи - Календарь
Полная версия: Графика - модель солнечной системы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Jeep
Привет!
Задали курсовик написать: точная модель солнечной системы, вид сверху и без спутников. Можек кто поможет чем, хотябы одну планету сделайте (кроме солнца smile.gif))
подчеркну слово точную модель!
Shadow
:D
дык земля спутик солнца
---
вроде
Shadow
:D
надо что нарисовать ето что ли
---
что делать???
Jeep
smile.gif)) Земля - это спутник солнца smile.gif) КрутА! и делать получается ничего не нада!
А надо мне построить точную модель (т.е. с соблюдением соотношений расстояний, траектроии, скоростей и т.д.) сол сист.
Но сложность вот в чем: КАК объекту, точке, жопе, да хоть чему привязать физическую, ну жизненную скорость.
Вот к примеру тачка (точка, не важно) движется со скоростью V, и проходит расстояние S. Как это на компе в паскале сделать???  ???
Shadow
:D
----
А-а-а-а-а-а
---
ню так и сказал погодь
-----
моно и чего срублю
---
Shadow
:D
---
вот наверное
---
ню думаю разберешся
--
ASM вставки монон убрать
и место точки поставить круг, Элипс, тачку, ж...п
ну вообщем все что Вы хотели
---
Код
Var
x,y,x1,y1,x2,y2:Integer;
sol_x,sol_y:Integer;

Procedure PixelOut(x,y:Word;c:Byte);
label we,exit;
Begin
y:=y*320;            {rachet coordin for Y}

asm
xor ax,ax           {AX in zero}
mov bx,x            {in di 1000 smeshenie v video memory}
mov cx,y            {in CX znachen y }
add bx,cx           {sum BX and CX}
    mov al,c        {in AL color}
    cmp bx,63999    {conez video buff}
    je we           {then exit}
mov es:[bx],al  {in vid memory es:di out ds:si}
we:
end;
end;
Procedure Sync; assembler;{Procedura Zaderjki lucha}
asm
 mov  dx, 3DAh {addr port}
@@Wait:
 in   al, dx  {data iz port v AL}
 test al, 08h  {}
 jz @@Wait    {shdem}
end;

BEGIN
asm
mov ax,013h          {320*200 256 color}
int 10h              {BIOS interrupt}
mov ax,0a000h        {this video memory addr in AX}
mov es,ax            {ES(segm) init video}
end;
sol_x:=250;
sol_y:=100;
pixelOut(sol_x,sol_y,14);{tipa solnce :) SONSHAIM}

for x1:=0 to 250 do begin {prodolhitelnost poleta}

y:=round(820*(sin(x1*0.035))*0.05); {movenau to X;620 diametr orbit}
{0.05 skorost; 0.09-koeff zhatija}
x:=round(820*(cos(x1*0.035))*0.05); {movenay to Y;620 diametr orbit}
{0.05 skorost; 0.09-koeff szhatia}
{mono srubit sctobi po spiali letala}

PixelOut(x+sol_x,y+sol_y,15);
         Sync;{na moem kompe eto nado }
PixelOut(x+sol_x,y+sol_y,17);

     for x2:=0 to 1000 do begin {            }
for y2:=0 to 500 do begin        {   zaderka  }
end;                             {  /          }
end;                             {/            }

{formyli primenimi vezde}
{dallee vrode sam smojesh}
{dobit progy}
{}
{}
end;
asm
mov ah,0   {wait}
int 16h    {key}
end;
end.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.