Автор: Jeep 24.04.2003 22:57
Привет!
Задали курсовик написать: точная модель солнечной системы, вид сверху и без спутников. Можек кто поможет чем, хотябы одну планету сделайте (кроме солнца ))
подчеркну слово точную модель!
Автор: Shadow 25.04.2003 0:20
:D
дык земля спутик солнца
---
вроде
Автор: Shadow 25.04.2003 1:33
:D
надо что нарисовать ето что ли
---
что делать???
Автор: Jeep 25.04.2003 13:20
)) Земля - это спутник солнца ) КрутА! и делать получается ничего не нада!
А надо мне построить точную модель (т.е. с соблюдением соотношений расстояний, траектроии, скоростей и т.д.) сол сист.
Но сложность вот в чем: КАК объекту, точке, жопе, да хоть чему привязать физическую, ну жизненную скорость.
Вот к примеру тачка (точка, не важно) движется со скоростью V, и проходит расстояние S. Как это на компе в паскале сделать??? ???
Автор: Shadow 26.04.2003 0:15
:D
----
А-а-а-а-а-а
---
ню так и сказал погодь
-----
моно и чего срублю
---
Автор: Shadow 27.04.2003 0:21
: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.