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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.09.2009, 21:55   #1
stscolt
Пользователь
 
Регистрация: 21.04.2008
Сообщений: 50
По умолчанию Графика в Делфи. Как нарисовать строфоиду?

Как нарисовать строфоиду? Она задана в параметрической форме:
x=a(t*t-1)/(t*t+1) y=a*t(t*t-1)/(t*t+1).
a>0, t изменяется от минус бесконечности до плюс бесконечности. У кого есть решение дайте пожалуйста, а то я уже 3ий день не могу справится с этой задачей:-( Заранее спасибо.
stscolt вне форума Ответить с цитированием
Старый 05.09.2009, 22:00   #2
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

А поиск юзали?
Типа "график Delphi" ?
Levsha100 вне форума Ответить с цитированием
Старый 05.09.2009, 22:53   #3
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Цитата:
t изменяется от минус бесконечности до плюс бесконечности.
Это в математике так... А когда рисуешь график надо всё равно какой-то диапазон выбирать...
Цитата:
Она задана в параметрической форме
Какая разница как она задана? Изменяется t - вот и пробегай в цикле, например, от -100 до 100 и подставляй...

Код:
Function npt(a: Integer; t: Real): TPoint;
Begin
Result.X:=Round(a*(t*t-1)/(t*t+1));
Result.Y:=Round(a*t*(t*t-1)/(t*t+1));
End;

Procedure TForm1.Button1Click(Sender: TObject);
Var a: Integer; t: real; pt: TPoint;
Begin
a:=100;
t:=-100;
pt:=npt(a, t);
Form1.Image1.Canvas.MoveTo(pt.X, pt.Y);
While t<=100 Do
      Begin
      pt:=npt(a, t);
      Form1.Image1.Canvas.LineTo(pt.X+Image1.Width Div 2, pt.Y+Image1.Height Div 2);
      t:=t+0.01;
      End;
End;
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 07.09.2009, 10:12   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну и я свои пять коп:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, TeEngine, Series, ExtCtrls, TeeProcs, Chart;

type
  TForm1 = class(TForm)
    Chart1: TChart;
    Series1: TFastLineSeries;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public  c:TChart;l:TFastLineSeries;
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
const a=10;
var t:double;
begin
 Chart1.Align:=alClient;
  t:=-10; while t<10 do begin
   Series1.AddXY(a*(t*t-1)/(t*t+1),a*t*(t*t-1)/(t*t+1));
  t:=t+0.01;
  end;

end;

end.
P.S. Мой улюблений способ графики строить.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Графика в Делфи R_A_M_I_L7777777 Помощь студентам 14 27.03.2009 15:21
плз помогите нарисовать в делфи... sp.caster Общие вопросы Delphi 5 30.01.2009 20:51
как нарисовать, начертить график в делфи Bigtyoma Общие вопросы Delphi 10 05.01.2009 19:28
Графика в Делфи Killbrum Мультимедиа в Delphi 19 17.09.2008 22:29
3d графика Если кто хочет могу нарисовать авотар atom Свободное общение 16 16.11.2006 15:53