Задача про движение спутника земли |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Задача про движение спутника земли |
Biowolf |
Сообщение
#1
|
Группа: Пользователи Сообщений: 4 Репутация: 0 |
Подскажите наилучший способ решения задачи.
Задача Смоделировать движение спутникавокруг земли |
Atos |
Сообщение
#2
|
Прогрессор Группа: Пользователи Сообщений: 602 Пол: Мужской Реальное имя: Михаил Репутация: 9 |
Каким образом? Графически? Что конкретно дожна делать программа?
|
Darkwolf |
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 43 Пол: Мужской Репутация: 0 |
Atos сменил ник прирегистрации теперь вот Darkwolf. Что нащет задачи то в графически . Простое динамическое изображение.
|
Darkwolf |
Сообщение
#4
|
Новичок Группа: Пользователи Сообщений: 43 Пол: Мужской Репутация: 0 |
С коро выло жу пробный текс может кто подскажет как улучшить
Сообщение отредактировано: Darkwolf - |
Darkwolf |
Сообщение
#5
|
Новичок Группа: Пользователи Сообщений: 43 Пол: Мужской Репутация: 0 |
В исходниках есть програма которую я брал за основу. Но она почемуто не грузится. И чутьчуть другая, там речь идет о вращение земли вокруг солнца.
|
Darkwolf |
Сообщение
#6
|
Новичок Группа: Пользователи Сообщений: 43 Пол: Мужской Репутация: 0 |
Все разобрался это у меня глюки были. Теперь грузится.
|
AlaRic |
Сообщение
#7
|
... Группа: Пользователи Сообщений: 1 347 Пол: Мужской Репутация: 3 |
Задача как я посмотрю делает упор на физику и графику!
Конкретнее пожалуйста, ЧТО именно должно быть и КАК? |
Darkwolf |
Сообщение
#8
|
Новичок Группа: Пользователи Сообщений: 43 Пол: Мужской Репутация: 0 |
Вот примерный текст но еще не дароботаный.
Код Program Space; Uses Graph, Crt; Const RadOrb = 250; RadSun = 70; RadGal = 100; RadZem = 18; Naklon = 0.2; PressZem = 0.65; Compress = 0.8; Var ZemX, ZemY, UgMer, PixelY, DUgZem , UpDown, XRad, Grad, UgZem, PixelX, StAngle, Ua, Ub, ParallelY, Color, ZemPix, EndAngle, VisualPage, GrMode, GrError, GrDriver, i : Integer; Ugol, CompressZem, Expansion, DUgol, Projection, PolUgol : Real; BEGIN GrDriver := EGA; GrMode := EGAHi; InitGraph(GrDriver, GrMode, 'C:\TP\BGI'); GrError := GraphResult; If GrError<>GrOk then Halt; SetBkColor(Black); SetFillStyle(1, Yellow); Ugol := 0; DUgol := 2*Pi/180; UgZem := 0; DUgZem := 14; VisualPage := 1; Repeat SetVisualPage(1- (VisualPage mod 2)); VisualPage := VisualPage+1; SetActivePage(1 - (VisualPage mod 2)); ClearDevice; RandSeed:=1; Expansion:=VisualPage/100; For i:= 1 to VisualPage do begin XRad := Trunc(Expansion*RadGal*Random); PolUgol:= 2*Pi*Random-VisualPage/30; PixelX := 370+Trunc(XRad*cos(PolUgol+1.8)); PixelY := 250+Trunc(XRad*0.5*sin(PolUgol)); PutPixel(PixelX, PixelY, White) end; Randomize; For i:=1 to 70 do PutPixel(Random(640),Random (350),White); For i := 1 to 100 do PutPixel(320+Round(RadOrb * cos((i+VisualPage/5)*Pi/50+0.3)), 160+Round(RadOrb*Naklon*sin((i+VisualPage/5)*Pi/50-Pi/2)),15); PieSlice(310, 160, 0, 360, RadSun); Ugol := Ugol+DUgol; Grad := Round(180*Ugol/Pi) mod 360; ZemX := 320+Round(RadOrb*cos((Ugol+Pi/2+0.3))); ZemY:=160+Round(RadOrb*Naklon*sin(Ugol)); CompressZem := 2.5-cos(Ugol+0.3); ZemPix := Round(RadZem*CompressZem); UgZem := UgZem+DUgZem; For i := 0 to 11 do begin UgMer := (UgZem+i*30) mod 360; If (90<UgMer) and (UgMer<270) then begin StAngle := 90; EndAngle := 270 end else begin StAngle := 270; EndAngle := 90 end; Ua := (Grad+220) mod 360; Ub := (Grad+400) mod 360; Color := LightBlue; If Ua<=Ub then if (Ua<UgMer) and (UgMer<Ub) then Color := White; If Ua >Ub then if (Ua<UgMer) or (UgMer<Ub) then Color := White; SetColor(Color); XRad := round((ZemPix*cos(UgMer*Pi/180))); Ellipse(ZemX,ZemY,StAngle,EndAngle,abs(XRad),round(PressZem*ZemPix)); end; For i := 2 to 7 do begin XRad := abs(Round(ZemPix*sin(i*Pi/9))); UpDown := Round(ZemPix*PressZem*cos(i*Pi/9)); ParallelY := ZemY+UpDown; SetColor(LightBlue); Ellipse(ZemX, ParallelY, 0, 360, XRad, Round(Naklon*XRad)); SetColor(White); Ellipse(ZemX,ParallelY,Grad+220,Grad+400,XRad,Round(Naklon*XRad)); end; If CompressZem<2 then PieSlice(310, 160, 0, 360, RadSun); RandSeed := VisualPage mod 12; For i := 1 to 250 do begin Projection := (1-sqr(Random))*Pi/2; XRad := RadSun+Round((20)*sin(Projection))-15; PolUgol := 2 * Pi * Random+VisualPage/20; PixelX := 310 + Round( XRad * cos(PolUgol)); PixelY := 160 + Round( Compress * XRad * sin(PolUgol)); PutPixel(PixelX, PixelY, LightRed) end; until KeyPressed END. |
Текстовая версия | 11.10.2024 15:03 |