Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2012, 16:27   #1
Gamst
Пользователь
 
Регистрация: 21.04.2010
Сообщений: 58
Восклицание Как повернуть на определенный угол график

Привет!
Как повернуть, допустим на 10º, график функции на canvas?
Gamst вне форума Ответить с цитированием
Старый 01.02.2012, 10:42   #2
chertovich
Форумчанин
 
Аватар для chertovich
 
Регистрация: 26.07.2009
Сообщений: 489
По умолчанию

Для этого используйте GDI+
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
chertovich вне форума Ответить с цитированием
Старый 01.02.2012, 10:53   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Для этого используйте GDI+
Зачем?
Цитата:
график функции на canvas?
Показывай как график рисуешь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.02.2012, 14:09   #4
Gamst
Пользователь
 
Регистрация: 21.04.2010
Сообщений: 58
По умолчанию

Цитата:
Показывай как график рисуешь.
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Image1: TImage;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end;

procedure TForm1.Button1Click(Sender: TObject);
var xc,yc,w,h,i:integer;
    mx,my,x,y:real;
begin
xc:=Image1.Width div 2;
yc:=Image1.Height div 2;
w:=xc*2;
h:=yc*2;
mx:=(w-200)/100;
my:=(h-200)/100;
with Image1.Canvas do
 begin
  Brush.Color:=clWhite;
  Pen.Color:=clGreen;
  MoveTo(0,yc);//линии осей
  LineTo(w,yc);
  MoveTo(xc,0);
  LineTo(xc,h);
  textout(w-20,yc-25,'x');//подпись концов
  textout(xc+5,5,'y');
  textout(xc+5,yc+5,'0');
  for i:=1 to 50 do
   begin
    MoveTo(xc+round(i*mx*10),yc-2); LineTo(xc+round(i*mx*10),yc+2);//засечки на оси Х, от 0 до +x
    MoveTo(xc-round(i*mx*10),yc-2); LineTo(xc-round(i*mx*10),yc+2);// от -x до 0
    textout(xc+round(i*mx*10),yc+10,Inttostr(10*i));//подписи
    textout(xc-round(i*mx*10),yc+10,Inttostr(-10*i));
    MoveTo(xc+2,yc-round(i*my*10)); LineTo(xc-2,yc-round(i*my*10));//засечки по У, от 0 до +y
    MoveTo(xc+2,yc+round(i*my*10)); LineTo(xc-2,yc+round(i*my*10));// от -y до 0
    textout(xc-15,yc-round(i*my*10),Inttostr(10*i));//подписи
    textout(xc-15,yc+round(i*my*10),Inttostr(-10*i));
   end;
 x:=-10;
 while x<=10 do
  begin
   y:=5*((exp(x/2))+(exp(-x/2)))/2;
   pixels[xc+round(x*mx),yc-round(y*my)]:=clred;
   x:=x+0.001;
  end;
 end;
end;

end.

Последний раз редактировалось Stilet; 01.02.2012 в 15:53.
Gamst вне форума Ответить с цитированием
Старый 01.02.2012, 16:19   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Тебе нужно каждую точку вычислять по полярным координатам помимо вычисления самой функции.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как повернуть изображение на 180 градусов? kl45gp Gamedev - cоздание игр: Unity, OpenGL, DirectX 3 11.05.2013 13:10
Как повернуть эллипс? gylayko Помощь студентам 0 18.12.2011 18:39
Как повернуть страницу ? frend1970 Microsoft Office Word 2 25.05.2011 09:14
Как повернуть изображение в TextBox(e)? Diego__ Microsoft Office Word 10 18.08.2009 12:01
Как повернуть изображение в TGraphicControl на 180 градусов? NeonSimfi Win Api 1 06.05.2009 21:20