Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Графика и игры
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #3  
Старый 12.12.2008, 21:03
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Для начала тебе нужно реализовать парсер для вычисления твоей формулы, далее тебе необходимо построить декартову систему координат.
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure LineToXY(x,y:single;_color:TColor);
var Temp:TColor;
begin
  Temp:=Form1.imgGraph.Canvas.Pen.Color;
  Form1.imgGraph.Canvas.Pen.Color:=_color;
  Form1.imgGraph.Canvas.LineTo(Trunc(ImageCenter.X+(x*Zoom)),Trunc(ImageCenter.y-(y*Zoom)));
  Form1.imgGraph.Canvas.Pen.Color:=Temp;
end;
 
procedure MoveToXY(x,y:single);
begin
  Form1.imgGraph.Canvas.MoveTo(Trunc(ImageCenter.X+(x*Zoom)),Trunc(ImageCenter.Y-(y*Zoom)));
end;
это для построения вектора в двухмерном пространстве.

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
if Form1.cbDrawGrid.Checked Then
  begin
    For X:=-10 to 10 Do
      begin
        MoveToXY(X,-10);
        LineToXY(x,10,clSilver);
      end;
    For Y:=-10 to 10 Do
      begin
        MoveToXY(-10,Y);
        LineToXY(10,Y,clSilver);
      end;
  end;  
MoveToXY(-10,0);
LineToXY(10,0,clRed);
MoveToXY(0,-10);
LineToXY(0,10,clLime);
DrawPointer(10,0,True,clRed);
DrawPointer(0,10,False,clLime);
 
for X := -10 to 10 do
  Begin
    MoveToXY(X,-0.05);
    LineToXY(X,0.05,clRed);
    TextToXY(X,-0.1,IntToStr(X));
  End;
 
for Y := -10 to 10 do
  Begin
    If Y=0 Then
      Continue;
    MoveToXY(-0.05,Y);
    LineToXY(0.05,Y,clLime);
    TextToXY(0.1,Y,IntToStr(Y));
  End;
это отрисовка координатной сетки и отрисовки осей координат.

Вот в принципе и все, сам же парсер можеш найти на этом сайте в исходниках.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 03:38.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025