Новости           

Программы

Turbo Pascal

Игры

Документация

"Странности"

FAQ

Ссылки

Благодарности

Гостевая книга

От автора

СИСТЕМЫ КООРДИНАТ

              Все графические  процедуры  в  инструментарии используют две
         отдельные координатные системы.  Первая называется абсолютной ко-
         ординатной системой,  а вторая - планетной координатной системой.
              Абсолютная координатная  система  определяется  используемым
         вами графическим адаптером.  Она представляется числом пикселей в
         горизонтальном и вертикальном направлениях (Пиксель  -  это  наи-
         меньшая  адресуемая  точка на экране).  Например,  CGA в режиме 6
         имеет 640 пикселов в ширину и 200 в высоту.  Процедуры инструмен-
         тария используют координатную систему Х-Y, где ось Х представляет
         горизонтальное направление, а ось Y - вертикальное. По соглашению
         верхний левый угол экрана имеет координаты (0,0) и в случае конт-
         роллера CGA левый нижний угол имеет координаты (639,200). Хотя вы
         можете использовать абсолютную координатную систему, это делается
         редко из-за больших преимуществ планетной координатной системы.
              Планетная координатная     система    задается    процедурой
         DefineWold,  которая используется для определения начальной и ко-
         нечной точек координатной системы. Например, строка

              DefineWord(1, 0, 0, 1000, 1000);

         определяет координатную  систему для планеты номер 1.  Она делает
         0,0 левым верхним углом и 1000,1000 правым нижним. Когда это сде-
         лано  все  графические процедуры в инструментарии будут настроены
         на координатную  систему.  Это  позволяет  создавать  графические
         программы  без  учета того,  какое графическое оборудование будет
         использоваться,  таким образом давая большую независимость от ап-
         паратуры. Та же самая программа может быть скомпилирована для ра-
         боты либо с контроллером EGA в режиме 640х350,  либо с CGA с раз-
         решением 640х200 без изменений.
              Для использования  планетной  координатной системы требуется
         трехступенчатый процесс. Во-первых, вы должны осуществить задание
         параметров  планеты  с помощью DefineWold.  Во-вторых,  вы должны
         выбрать  одну  из  предварительно  заданных  планет   с   помощью
         SelectWold.  Наконец,  вы должны выбрать окно в планете с помощью
         SelectWindom. Процедура объявляется следующим образом:

             procedure DefineWorld(WorlidNum:integer,StartX,StartY,EndX,
                                EndY: real);
             procedure SelectWorid(WoridNum: integer);
             procedure SelectWindom(WindomNum: integer);

              WorldNum -  это  номер  планеты,  а  WindomNum - номер окна.
         StartX и StartY определяют координаты  верхнего  левого  угла,  а
         EndX  и  EndY - правого нижнего угла.  Окно,  которое вы выбрали,
         должно иметь тот же номер, что и номер планеты.
              Следующий фрагмент кода определяет две  планеты  и  выбирает
         первую из них в качестве текущей среды:

             DefineWorld(1, 0, 0, 1000, 1000);
             DefineWorld(2, 0, 0, 2000, 2000);

             SelectWorld(1);
             SelectWorld(2);

              После данной последовательности процедуры инструментария бу-
         дет работать в координатном пространстве 1000х1000.
              Следующим преимуществом планетной координатной системы явля-
         ется то,  что она позволяет увеличивать масштаб изображения.  Это
         реализуется  уменьшением  координат планеты при неизменности всех
         других параметров. Примеры этого будут даны позднее.

(с)Все права защищены

По всем интересующим вопросампрошу писать на электронный адрес

    Rambler's Top100 PROext: Top 1000
    Rambler's Top100 Яндекс цитирования
Hosted by uCoz