Опубликовано: 2018-07-11 08:00:00
Графопостроитель с возможностью масштабирования
Ниже представлен комментированный пример исходного кода, рисующий изображение графика функций с масштабированием и указанием начала координат относительно левого верхнего угла экрана:
- SCREEN 12 'rezhim ekrana
- CLS 'ochistka ekrana
- DIM OX AS INTEGER 'nachalo koordinat otnositelno ekrana po OX
- DIM OY AS INTEGER 'nachalo koordinat otnositelno ekrana po OY
- OX = 325: OY = 225
- 'dlina i vysota ekrana
- DIM W, H AS INTEGER
- 'izmenyat v sluchaye smeny rezhima ekrana
- W = 640 'dlina
- H = 480 'vysota
- 'koordinaty tochek v yedinitsakh
- DIM X, Y AS SINGLE
- 'koordinaty tochek na ekrane
- DIM PX AS INTEGER
- DIM PY AS INTEGER
- 'koefitsiyent preobrazovaniya yedinitsy v tochki ekrana
- 'ili prosto masshtab
- DIM K AS SINGLE
- K = 50 'masshtab
- 'koordinaty predydushchikh tochek na ekrane
- DIM PREVPX AS INTEGER
- DIM PREVPY AS INTEGER
- 'risuyem osi
- LINE (0, OY)-(W, OY), 7
- LINE (OX, 0)-(OX, H), 7
- DIM I AS INTEGER 'peremennaya dlya tsikla
- DIM TSVET AS INTEGER 'peremennaya dlya tsveta grafika
- TSVET = 4
- FOR I = 0 TO W
- X = (I - OX) / K 'preobrazovniye iz koordinat tochek v ekrane v yedinitsy
- Y = COS(X) 'ZDES MOZHETE ISPRAVIT NA SVOYU FUNKTSIYU
- 'preobrazovniye iz yedinits v koordinaty tochek v ekrane
- PX = I
- PY = -Y * K + OY
- 'yesli tekushchiy shag tsikla yavlyayetsya pervym...
- 'to koordinaty predydushchikh tochek schitat tekushchimi
- IF I = 0 THEN
- PREVPX = PX: PREVPY = PY
- END IF
- 'risuyet liniyu ot predydushchey tochki k tekushchey
- LINE (PREVPX, PREVPY)-(PX, PY), TSVET
- 'zapominayet predydushchiye tochki
- PREVPX = PX
- PREVPY = PY
- NEXT
Рисунок 1 – Исходный текст графопостроителя
Рисунок 2 – Графопостроитель с возможностью масштабирования
Спасибо за прочтение этой статьи.
Прикрепленные файлы: