Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 28.04.2014
Сообщений: 4
1

Задача для курсовой. Вращающиеся шестерни

29.04.2014, 19:32. Показов 2269. Ответов 1
Метки нет (Все метки)

[cut]
Нужно написать программу по этой задаче на форме c++ builder 6. Помогите, пожалуйста
 Комментарий модератора 
Описание задачи надо вставлять в тело сообщения!


Добавлено через 23 часа 8 минут
На рисунке изображены три шестерни ,работающие в зацеплении. Составить программу имитации вращения шестерней:
А)по часовой стрелке
Б)против часовой стрелки
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.04.2014, 19:32
Ответы с готовыми решениями:

задача для курсовой
помогите пожалуйста.не могу найти в интернете ничего что могло бы помочь дан одномерный массив...

Задача для курсовой
Здравствуйте все! У меня возникла небольшая проблемка с написанием задачи: Имеется база данных,...

задача "Построить систему классов для описания Прямоугольника" для курсовой
Нужно решить задачу для курсовой в С++ через неделю мне её сдавать надо а я в программировании...

Нужна задача для курсовой "Динамическое программирование. Метод обратной прогонки"
Для моей курсовой работы нужно реализовать алгоритм в VBA по теме: "Динамическое программирование....

1
случайный прохожий
1511 / 1013 / 373
Регистрация: 20.07.2013
Сообщений: 2,943
30.04.2014, 04:03 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
struct cogwheel
{
  TPoint point;  // центр
  int r, toothHeight, toothCount, angle, rCenter, dir, speed;  // радиус, высота зубьев, кол-во, угол, центр оси, направление и скорость вращения
  TColor color, color2, color3;  // цвет колеса, зубьев и оси
}cw;
//---------------------------------------------------------------------------
void draw_cogwheel(cogwheel)
{
  Form1->Canvas->Brush->Color = cw.color;
  Form1->Canvas->Pen->Color = cw.color;
  Form1->Canvas->Ellipse(cw.point.x-cw.r, cw.point.y-cw.r, cw.point.x+cw.r, cw.point.y+cw.r);
 
  Form1->Canvas->Brush->Color = cw.color2;
  Form1->Canvas->Pen->Color = cw.color2;
  int rOut = cw.r + cw.toothHeight;
  TPoint points[4];
  for (int i = 0; i < cw.toothCount; i++)
  {
    points[0] = Point(cw.point.x+cw.r*cos(cw.angle*M_PI/180+2*M_PI*i/cw.toothCount), cw.point.y+cw.r*sin(cw.angle*M_PI/180+2*M_PI*i/cw.toothCount));
    points[1] = Point(cw.point.x+cw.r*cos(cw.angle*M_PI/180+(i+.5)/cw.toothCount*2*M_PI), cw.point.y+cw.r*sin(cw.angle*M_PI/180+(i+.5)/cw.toothCount*2*M_PI));
    points[2] = Point(cw.point.x+rOut*cos(cw.angle*M_PI/180+(i+.4)/cw.toothCount*2*M_PI), cw.point.y+rOut*sin(cw.angle*M_PI/180+(i+.4)/cw.toothCount*2*M_PI));
    points[3] = Point(cw.point.x+rOut*cos(cw.angle*M_PI/180+2*M_PI*(i+.1)/cw.toothCount), cw.point.y+rOut*sin(cw.angle*M_PI/180+2*M_PI*(i+.1)/cw.toothCount));
    Form1->Canvas->Polygon(points, 3);
  }
 
  Form1->Canvas->Brush->Color = cw.color3;
  Form1->Canvas->Pen->Color = cw.color3;
  Form1->Canvas->Ellipse(cw.point.x-cw.rCenter, cw.point.y-cw.rCenter, cw.point.x+cw.rCenter, cw.point.y+cw.rCenter);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
// Timer1->Interval = 100;
// Timer1->Enabled = 1;
  if (cw.dir == 0)
    cw.dir = 1;
  cw.point.x = 200;
  cw.point.y = 200;
  cw.r = 150;
  cw.toothHeight = 35;
  cw.toothCount = 12;
  cw.speed = 1;
  Tag += cw.speed;
  cw.angle = cw.dir*Tag;
  cw.rCenter = 20;
  cw.color = clBlack;
  cw.color2 = clBlack;
  cw.color3 = clGray;
  Refresh();
  draw_cogwheel(cw);
 
  cw.point.x = 493;
  cw.point.y = 363;
//  cw.r = 150;
//  cw.toothHeight = 35;
//  cw.toothCount = 12;
  cw.angle = -cw.dir*Tag;
  cw.rCenter = 25;
  cw.color = clBlue;
  cw.color2 = clBlue;
  draw_cogwheel(cw);
 
  cw.point.x = 818;
  cw.point.y = 281;
  cw.angle = cw.dir*Tag;
  cw.rCenter = 15;
  cw.color = clGreen;
  cw.color2 = clGreen;
  draw_cogwheel(cw);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  cw.dir *= -1;
}
4
Миниатюры
Задача для курсовой. Вращающиеся шестерни  
Вложения
Тип файла: zip cogwheels.zip (1.36 Мб, 37 просмотров)
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.04.2014, 04:03

Задача для курсовой: определить значение z=max(a, 2b)*max(2a-b,b), где max(x, y)-максимальные из чисел х и у
Определить значение z=max(a, 2b)*max(2a-b,b), где max(x, y)-максимальные из чисел х и у. Задачу...

Задача к курсовой
Друзья,очень нужна ваша помощь! А)Рассчитать какая сумма окажется на счете ,если 33,7 тыс.руб...

Задача к курсовой
Друзья,помогите пожалуйста! Решить задачу в Java. Имеется строка ,содержащая буквы латинского...

Задача по курсовой
Задали задачу, в чем смысл я не понимаю, да и в Jave не шарю. Люди добрые, объясните что к чему...


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

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

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