Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
Ромар
0 / 0 / 0
Регистрация: 23.05.2017
#1

Шарик летающий по траектории, представляющей собой замечательную кривую (эпициклоида)

26.05.2012, 15:48. Просмотров 1003. Ответов 1
Метки нет (Все метки)

нужно построить в Delfi, никак не получает(((
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2012, 15:48
Ответы с готовыми решениями:

Летающий шарик
http://mydelphiprogramms.jimdo.com/2012/03/25/преврашаем-shape-в-мяч/...

Обойти кривую по заданой траектории
Загружается черно-белое изображение в битмат, соответственно кривая из...

Шарик, летающий по экрану и ударяющийся об его стенки
Тут такая тема: срочно нужна помощь в создании задания на С++. С помощью...

Вычисление двойного интеграла по области, представляющей собой трапецию
Вычислите двойной интеграл \int \int_{D}(6*x*y^2)dxdy по области D,...

Куча угля ограничена поверхностью, представляющей собой параболоид
Куча угля ограничена поверхностью, представляющей собой параболоид...

1
Puporev
Модератор
54361 / 41950 / 28980
Регистрация: 18.05.2008
Сообщений: 98,814
26.05.2012, 18:33 #2
Лучший ответ Сообщение было отмечено как решение

Решение

Для эпициклоид с целым коэффициентом.
Delphi
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Spin;
 
type
  TForm1 = class(TForm)
    SpinEdit1: TSpinEdit;
    Button1: TButton;
    Timer1: TTimer;
    Label1: TLabel;
    Shape1: TShape;   //добавим TShape, сделаем его Circle, width=height=10
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1:TForm1;
  k,n:integer;
  x0,y0:integer; // точка - начало координат
  r,t,m,x,y:real;
  mas:array of TPoint;
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
begin
k:=SpinEdit1.Value;
r:=10;
x0:=Form1.ClientWidth div 2;
y0:=Form1.ClientHeight div 2 ;
m:=(y0-60)/(r*(2+k));
Shape1.Brush.Color:=clRed;
t:=0;
n:=0;
while t<=2*pi do
 begin
  n:=n+1;
  setlength(mas,n);
  mas[n-1].X:=x0+round(m*r*(k+1)*(cos(t)-cos((k+1)*t)/(k+1)));
  mas[n-1].Y:=y0-round(m*r*(k+1)*(sin(t)-sin((k+1)*t)/(k+1)));
  t:=t+0.001;
 end; 
end;
 
procedure TForm1.Timer1Timer(Sender: TObject);
var i:integer;
begin
t:=t+0.01;
x:=x0+round(m*r*(k+1)*(cos(t)-cos((k+1)*t)/(k+1)));
y:=y0-round(m*r*(k+1)*(sin(t)-sin((k+1)*t)/(k+1)));
Shape1.Left:=round(X-5);
Shape1.Top:=round(Y-5);
for i:=0 to n-1 do
Form1.Canvas.Pixels[mas[i].X,mas[i].Y]:=clBlue;
end;
 
end.
0
Вложения
Тип файла: zip Шарик по Эпициклоиде.zip (210.7 Кб, 67 просмотров)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.05.2012, 18:33

Найти объем фигуры, ограниченной поверхностью, представляющей собой параболоид
Куча песка ограничена поверхностью, представляющей собой параболоид...

Вывод на экран графика любой функции, представляющей собой многочлен не выше 5-ой степени
Написать программу, способную выводить на экран график любой функции,...

Определить положение наиболее длинной группы, представляющей собой отрезок натурального ряда чисел
В массиве целых положительных чисел, упорядоченных по возрастанию, определить...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru