Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Delphi|VB6] Визуализация кривой Циклоида


Автор: 119040 13.6.2007, 19:42
Разработать алгоритм и программу визуализации кривой Циклоида
x=a*t-a1*sin(t)
y=a-a1*cos(t)

Срочно. Хотя бы подскажите. Я не представляю как делать.

Спасибо вам.

Автор: Alexeis 13.6.2007, 21:19
А чего там рисовать Canvas.Lineto() к очередной точке, только диапазон нужно разбить скажем на 100 - 200 точек.

Добавлено через 4 минуты и 31 секунду
Важно выбрать масштаб для оси х и оси y. Т.е. выбрать множитель на который нужно умножить значение координат X и Y чтобы они красиво смотрелись на экране.

Автор: 119040 13.6.2007, 22:43
Alexeis, не понимаю я.. :( Поподробнее плз

Автор: Alexeis 14.6.2007, 09:42
Код

procedure TForm1.Button1Click(Sender: TObject);
var
  i : integer;
  x, y, t: Extended;

const
  a  = 10; //Определяет шаг циклойды
  a1 = 100;//Определяет диаметр циклойды

begin
  canvas.MoveTo(120, 5 - a1 + 120); //От этой точки начнется рисование
  for I := 1 to 200
  do
    Begin
      t := i / (2 * pi);  //Задаем параметр t.
      x := a * t - a1 * sin(t);
      y := a     - a1 * cos(t);
      canvas.LineTo(round(x) + 120, round(y) + 120);//Рисуем циклойду отрезками соединяющими ее точки
    End;//+ 120 нужно чтобы с ориентировать ее в центре формы.
end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)