![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Доброго времени суток!
Встала задача нарисовать синусоиду по следующей функции: U = A * sin (2 * pi * f * t) A, f - числа постоянные, t - время (по-сути координата х) (кто разбирается в электронике - тот поймет )рисовать нужно в канаве, напр. на TImage зы я нашел, как рисуют функцию f := 2 * Sin(x) * exp(x / 5) (http://www.delphisources.ru/pages/fa...function.html), но с данной функцией никак не получается ![]() помогите, плиз Заранее спасибо! |
|
#2
|
|||
|
|||
|
Вроде так должно быть:
Код:
var t,A,f : real;
zoom : integer;
begin
t := 0;
A:=1;
f:=1;
zoom :=50;
image1.canvas.moveto(0, image1.height div 2);
while t <= (2*pi) do
begin
image1.canvas.lineto(round(t*zoom),(image1.height div 2)-round(zoom*A*sin (2*pi*f*t)));
t := t + 0.01;
end;
end;на форме один TImage - Image1 а код в обработчике нажатия кнопки поставь, прогу прямо сюда писал, так что могут быть ошибки. |
|
#3
|
|||
|
|||
|
Вроде так должно быть:
Код:
var t,A,f : real;
zoom : integer;
begin
t := 0;
A:=1;
f:=1;
zoom :=50;
image1.canvas.moveto(0, image1.height div 2);
while t <= (2*pi) do
begin
image1.canvas.lineto(round(t*zoom),(image1.height div 2)-round(zoom*A*sin (2*pi*f*t)));
t := t + 0.01;
end;
end;на форме один TImage - Image1 а код в обработчике нажатия кнопки поставь, прогу прямо сюда писал, так что могут быть ошибки. |