русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Для построения графиков


Дата добавления: 2014-11-27; просмотров: 1727; Нарушение авторских прав


Постановка задачи. Нарисовать координатную сетку, как показано на рис. 10.

Реализация. Напишем процедуру setka (x0, y0, mx, my : integer)
с входными параметрами x0, y0 – координаты начала системы координат; mx, my – шаги координатной сетки в пикселях.

 

Рис. 10. Координатная сетка

 

procedure setka(x0, y0, mx, my:integer);

// x0, y0 - координаты начала системы координат

var lx, ly:real; // метки (оцифровка) линий сетки

dlx, dly:real; // шаг меток (оцифровки) линий сетки

x,y:integer;

cross:integer; счетчик неоцифрованных линий

begin

dlx:=0.5; // шаг меток оси X

dly:=1.0; // шаг меток оси Y, метками будут: 1, 2, 3 и т. д.

with form1.Canvas do

begin

cross:=dcross;

MoveTo(x0,y0); LineTo(x0,y0-h); // ось X

MoveTo(x0,y0); LineTo(x0+w,y0); // ось Y

// засечки, сетка и оцифровка оси X

x:=x0+mx;

lx:=dlx;

repeat

MoveTo(x,y0-3);LineTo(x,y0+3); // засечка

cross:=cross-1;

if cross = 0 then // оцифровка

begin

TextOut(x-8,y0+5,FloatToStr(lx));

cross:=dcross;

end;

Pen.Style:=psDot;

MoveTo(x,y0-3);LineTo(x,y0-h); // линия сетки

Pen.Style:=psSolid;

lx:=lx+dlx;

x:=x+mx;

until (x>x0+w);

 

// засечки, сетка и оцифровка по оси Y

y:=y0-my;

ly:= dly;

repeat

MoveTo(x0-3,y);LineTo(x0+3,y); // засечка

TextOut(x0-20,y,FloatToStr(ly)); // оцифровка

Pen.Style:=psDot;

MoveTo(x0+3,y); LineTo(x0+w,y); // линия сетки

Pen.Style:=psSolid;

y:=y-my;

ly:=ly+dly;

until (y<y0-h);

end;

end;

Вернемся к способам вывода изображения на форму. Третий способ вывода изображения сразу же при запуске приложения заключается в следующем. Выберите событие формы OnPaint. Справа нажмите на стрелочку и выберите строку FormCreate. Тогда, если напишем в коде процедуры FormCreate вызов процедуры Setka,
то рисунок появится на форме сразу после запуска проекта. Ниже приведен код процедуры FormCreate:



 

procedure TForm1.FormCreate(Sender: TObject);

begin

mx:=25;

my:=25;

dcross:=1; // помечать линии сетки X: 1 – каждую;

// 2 – через одну;

// 3 – через две;

h:=7*my;

w:=14*mx;

setka(30,200,mx,my);

end;

 

Задание 1. Измените переменную dlx так, чтобы метки по оси Х тоже были через 1.

 

Задание 2.Упростите процедуруsetka(x0, y0, mx, my : integer) так, чтобы координатная сетка была пригодна для построения графиков элементарных функций (примерный вид приведен на рис. 11). Новую процедуру setka назовите koord_setka.

 

Рис. 11. Оси координат и сетка

 



<== предыдущая лекция | следующая лекция ==>
Рисование поля для различных игр | Построение графиков элементарных функций


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.072 сек.