ВУЗ:
Составители:
Рубрика:
             {текущее расстояние от звезды до центра галактики} 
        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; {в рад
.(Ugol) и в град.(Grad)} 
    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; {координата Y центра эллипса 
параллели} 
        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; 
     {------------------------------------------------------------------
} 
             {текущее расстояние от звезды до центра галактики}
        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; {в рад.(Ugol) и в град.(Grad)}
    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 (90Ub then if (Ua Страницы
- « первая
 - ‹ предыдущая
 - …
 - 107
 - 108
 - 109
 - 110
 - 111
 - …
 - следующая ›
 - последняя »
 
