рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Программное построение изображений

Программное построение изображений - раздел Компьютеры, Класс TGraphic Для Рисования Линий Можно Использовать Методы: Moveto(Xh, Yh) - Уста...

Для рисования линий можно использовать методы:

MoveTo(XH, YH) - установка невидимого курсора в начало линии;

LineTo(XK, YK) - проведение линии до точки XK,YK.

Обращение к этим методам осуществляется по общим правилам - с помощью составного имени, например, если имя объекта Image1, то

Image1.Canvas.MoveTo(X1, Y1); .

При создании изображения и , в частности, при построении графиков необходимо иметь в виду, что

- положение точки на экране определяется в пикселях, т.е. координаты точки - числа целого типа;

- начало отсчета располагается в левом верхнем углу, причем ось У направлена вниз.

Это означает, что при построении графиков необходимо предусматривать масштабирование формул и соответствующим образом пересчитывать координаты.

Рассмотрим построение графика на примере функции

У = А*Х2 . (1)

1. Выбор масштабов

Пусть Х и У реальные координаты, а Хр и Ур координаты в пикселях. Введем переменные

Ур=Му*У, и Хр = Мх * Х (2)

где Му и Мх масштабные коэффициенты.

Из соотношений (2) запишем

У = Ур / Му ; Х = Хр / Мх (3)

Подставим Х и У в заданную функцию

Ур = А * Хр2 {Му / Мх2} .

Очевидно, что коэффициент в фигурных скобках можно вычислять один раз.

, Создадим проект в котором имеется поле Edit для ввода коэффициента А и кнопка "график", при щелчке на которой в поле Image строится график функции (1). Вид окна проекта приведен на рис.5.31.1.

 

Рис.5.31.1

 

Текст модуля формы для данного примера приведен на листинге 31.1.

Листинг 31.1.

unit UniGraph3;

interface

uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, ExtCtrls;

type

TForm1 = class(TForm)

Image1: TImage;

Button1: TButton;

Edit1: TEdit;

Label1: TLabel;

Label2: TLabel;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);

Var

A,Y,MX,My,K:extended;

X0,Y0,X,i:integer;

begin

a:=StrToFloat(edit1.Text); {преобразование в число}

X0:=50; Y0:=100; {начало координат}

My:=0.5; Mx:=20; K:=My/Sqr(Mx);

With Image1.Canvas Do Begin

Pen.Color:=clBlue; {установка цвета карандаша для осей}

MoveTo(X0,Y0);LineTo(X0+200,Y0); {рисование оси Х}

MoveTo(X0,Y0+50); LineTO(X0,Y0-50); {рисование оси У}

Pen.Width:=2;

MoveTo(X0,Y0);

For i:=1 To 200 Do Begin

X:=X0+i; Y:=a*K*i*i;

LineTo(Х,Y0-Round(У));

End;

End;

end;

end.

– Конец работы –

Эта тема принадлежит разделу:

Класс TGraphic

Класс TGraphic... TGraphic class TPersistent... Этот абстрактный класс является родительским для трех видов изображений общепринятых в графике Windows значка...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Программное построение изображений

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Эта работа не имеет других тем.

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги