8 / 8 / 3
Регистрация: 29.04.2014
Сообщений: 76
1

Алгоритм движения касательной по кривой

01.05.2014, 13:24. Показов 2123. Ответов 5
Метки нет (Все метки)

Никак не могу реализовать алгоритм движения касательной по кривой (у меня есть разные кривые sin, cos)
если есть идеи пожалуйста поделитесь тут )))))
должна двигаться так как на гифке просто по косинусоиде или синусоиде
Миниатюры
Алгоритм движения касательной по кривой  
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.05.2014, 13:24
Ответы с готовыми решениями:

Найти уравнение кривой на плоскости, если угол касательной и длина кривой заданы параметрически
Фиксированный единичный вектор скользит по параметрически заданной кривой,прочерчивая линейчатую...

Написать уравнение касательной к кривой
Написать уравнение касательной к кривой y=f(x) в точке Х0. y=(x-1)*exp^(3*x-1)

Составить уравнение касательной к кривой
Составить уравнение касательной к кривой, заданной уравнениями x^2+y^2+z^2=1, x^2+y^2=x в точке...

Составить уравнения касательной к кривой
помогите пожалуйста!!!!!!:cry::-[ Составить уравнения касательной к кривой y=(4/корень из4) +1 ...

5
435 / 402 / 57
Регистрация: 06.02.2012
Сообщений: 1,384
01.05.2014, 14:55 2
Ф-ция задается формулой или таблицей значений?
0
8 / 8 / 3
Регистрация: 29.04.2014
Сообщений: 76
01.05.2014, 16:04  [ТС] 3
вот так
C++
1
2
3
4
5
6
7
8
9
Chart1->Title->Text->Clear();
Series1->Clear();
for(x=0;x<50;x++)
{y=sin(x/10);
Series1->AddXY(x,y,"",clRed);}
for(x=0;x>-50;x--)
{y=sin(x/10);
Series1->AddXY(x,y,"",clRed);}
Chart1->Title->Text->Add("Графік синусоїди");}
0
435 / 402 / 57
Регистрация: 06.02.2012
Сообщений: 1,384
02.05.2014, 02:29 4
Нужно найти угол наклона касательной в каждой точке кривой. Хочешь ищи через производную, хочешь через две точки ( sin(x) и sin(x+dx) ). Далее находишь уравнение прямой - касательной в нужной точке. Далее по таймеру перерисовывашь Chart1->Series2 в разных точках.
1
случайный прохожий
2057 / 1326 / 456
Регистрация: 20.07.2013
Сообщений: 3,694
02.05.2014, 05:13 5
Лучший ответ Сообщение было отмечено Roctik как решение

Решение

Сделал для функции из первого поста, рисуется на Canvas.
Переделать под sin или cos и для Chart, думаю, труда особого не составит.
C++
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
36
37
38
39
40
41
42
double fx(double x)
{
  return x*sin(x*x)+1;
}
//---------------------------------------------------------------------------
double fdx(double x)
{
  return sin(x*x)+2*x*x*cos(x*x);
}
//---------------------------------------------------------------------------
double ftx(double x, double x0)
{
  return fx(x0)+fdx(x0)*(x-x0);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
// Timer1->Interval = 100;
// Timer1->Enabled = 1;
// Tag = -101;
  Refresh();
  for (double i = -1; i <= 3; i+=0.001)
    Canvas->Pixels[50*i+100][250-50*fx(i)] = clBlack;
 
  Tag++;
  if (Tag > 300)
    Tag = -101;
  double i = 1.*Tag/100.;
  if (fdx(i) > 0)
    Canvas->Pen->Color = clGreen;
  else
   if (fdx(i) < 0)
    Canvas->Pen->Color = clRed;
  else
    Canvas->Pen->Color = clBlack;
  double t = cos(ArcTan(fdx(i)));
  Canvas->MoveTo(50*(i-1*t)+100, 250-50*ftx(i-1*t, i));
  Canvas->LineTo(50*(i+1*t)+100, 250-50*ftx(i+1*t, i));
  Canvas->Pen->Color = clBlue;
  Canvas->Brush->Color = clBlue;
  Canvas->Ellipse(50*i+97, 247-50*fx(i), 50*i+103, 253-50*fx(i));
}
Миниатюры
Алгоритм движения касательной по кривой  
1
8 / 8 / 3
Регистрация: 29.04.2014
Сообщений: 76
02.05.2014, 09:14  [ТС] 6
Спасибо огромное!!!
вы мне очень помогли
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.05.2014, 09:14
Помогаю со студенческими работами здесь

Cоставить уравнение касательной к кривой.
y=f(x) в точке с абсциссой x_0, если f(x)= \sin^3{(3x)}, а x_0=0.

Составить уравнение касательной и нормали к кривой
Составить уравнение касательной и нормали к кривой:

Написать уравнение касательной к кривой (2^x)+(2^y)=2^(x+y) в точке (1,1)
Собственно не понимаю, как находить, при условии что x и y содержатся в степенях. Заранее спасибо.

Найти уравнение касательной к кривой в точке
Найти уравнение касательной к кривой \begin{cases} x^2 + y^2 + z^2&amp; = &amp;3\\ x^2 + y^2 = 2 &amp; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru