Реферат Курсовая Конспект
Программное построение изображений - раздел Компьютеры, Класс 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 class TPersistent... Этот абстрактный класс является родительским для трех видов изображений общепринятых в графике Windows значка...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Программное построение изображений
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов