TECHNO
 Аватар для Василий-Робот
28 / 28 / 8
Регистрация: 04.11.2009
Сообщений: 366

Движение объекта по круговой траектории

04.11.2009, 19:43. Показов 11490. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача: сделать так, чтобы предмет двигался по круговой траектории, но можно было регулировать скорость объекта. Как сделать этот "бублик"?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.11.2009, 19:43
Ответы с готовыми решениями:

Движение объекта
Помогите,пожалуйста создать человека,идущего лунной походкой(Как Майкл Джексон).Срочно надо.Заранее СПАСИБО! Помогите создать...

Как организовать движение объекта к цели
Всем, Здравствуйте! Интересует такой вопрос. Как организовать движение объекта (обьект , двигается вперед, но может поворачивать на...

Движение объекта и реакция его на препятствие
Люди, помогите запрограммировать данный exe-шник (дело срочное). У меня получилось запрограммировать движение объекта и генерацию...

12
 Аватар для Toxa33rus
3924 / 925 / 125
Регистрация: 16.04.2009
Сообщений: 1,977
04.11.2009, 20:21
Лучший ответ Сообщение было отмечено как решение

Решение

Разработаем проект, который отображает движение Земли по орбите вокруг Солнца.

Проект «Движение Земли вокруг Солнца».
1 Разместить на форме графическое поле picAnim, в котором будет производиться изображение движения. Свойству BackColor графического поля присвоить значение Blue.
2 Поместить на форму кнопку cmdStart и начать создание событийной процедуры, реализующей анимацию. Задать количество оборотов вокруг Солнца и удобный масштаб:

Visual Basic
1
2
3
4
5
6
Private Sub cmdStart_Click() 
'Количество оборотов 
intRev = 100 
'Масштаб 
picAnim.Scale (-10, 10)-(10, -10) 
End Sub
Солнце, орбиту Земли вокруг Солнца и Землю будем рисовать с помощью метода Cirсle желтым цветом. Движение Земли по орбите реализуем в цикле, в котором по известным формулам (по радиусу орбиты и углу поворота) вычисляется положение центра окружности, изображающей Землю.
Эффект анимации получим рисованием сначала круга голубого цвета, а затем его стиранием кругом цвета фона (синим). Для получения закрашенного круга требуется установить требуемое значение свойства FillColor (при рисовании vbCyan, а при стирании vbBlue), которое определяет цвет заполнения рисуемой фигуры.
Скорость движения Земли по орбите (скорость смены одного изображения другим) можно регулировать с помощью изменения количества повторений пустого цикла между рисованием и стиранием.
Для этого можно использовать управляющий элемент Slider (Ползунок), который входит в дополнительный набор управляющих элементов Microsoft Windows Common Controls 6.0. Установив указатель ползунка в определенное положение, мы присваеваем свойству Value значение из интервала, заданного свойством Min (по умолчанию 0) и свойством Max (по умолчанию 10).

3 Разместить на форме ползунок sld1 и кнопку cmdSld и создать событийную процедуру регулировки скорости движения:

Visual Basic
1
2
3
Private Sub cmdSld_Click() 
bytS = sld1.Value 
End Sub
4 Продолжить создание событийной процедуры, реализующей анимацию, включить в нее рисование орбиты Земли, Солнца и движения Земли по орбите:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
'Анимация 
For intN = 1 To 360 * intRev 
'Орбита Земли 
picAnim.Circle (0, 0), 8, vbYellow 
'Солнце 
picAnim.FillColor = vbYellow 
picAnim.Circle (0, 0), 2, vbYellow 
'Рисование Земли 
picAnim.FillColor = vbCyan 
picAnim.Circle (8 * Sin(6.28 / 360 * intN), 8 * Cos(6.28 / 360 * intN)), 1, vbCyan 
'Задержка стирания 
For intI = 1 To 100000 * bytS 
Next intI 
'Стирание Земли 
picAnim.FillColor = vbBlue 
picAnim.Circle (8 * Sin(6.28 / 360 * intN), 8 * Cos(6.28 / 360 * intN)), 1, vbBlue 
Next intN
4
TECHNO
 Аватар для Василий-Робот
28 / 28 / 8
Регистрация: 04.11.2009
Сообщений: 366
04.11.2009, 20:38  [ТС]
Уф) Поясни, как рисовать? У меня на панели инструментов есть Shape но на нем далеко не уедешь. Или нужен новый тип проекта открывать? Объясни, пожалуйста
0
 Аватар для BasicMan
19318 / 2626 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
04.11.2009, 20:45
Цитата Сообщение от Василий-Робот Посмотреть сообщение
Поясни, как рисовать?
тебе ж сказали человеческим языком:

Цитата Сообщение от Toxa33rus Посмотреть сообщение
1 Разместить на форме графическое поле picAnim, в котором будет производиться изображение движения. Свойству BackColor графического поля присвоить значение Blue.
2 Поместить на форму кнопку cmdStart и начать создание событийной процедуры, реализующей анимацию. Задать количество оборотов вокруг Солнца и удобный масштаб:
Цитата Сообщение от Toxa33rus Посмотреть сообщение
3 Разместить на форме ползунок sld1 и кнопку cmdSld и создать событийную процедуру регулировки скорости движения:
кароч, эти 3 объекта и код
3-е не обязательно, можно проще зделать, типа техтбох, или ваще константу
в кнопке весь код события

че непонятно то?
0
TECHNO
 Аватар для Василий-Робот
28 / 28 / 8
Регистрация: 04.11.2009
Сообщений: 366
04.11.2009, 20:47  [ТС]
Я делаю первые шаги в осваивание VB. Вижу я текст, а понять не могу. Где брать это графическое поле picAnim и свойству BackColor?
0
 Аватар для BasicMan
19318 / 2626 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
04.11.2009, 20:58
поле берется в панели элементов управления. (PictureBox это)
свойство BackColor - это в окне свойств элемента управления
0
TECHNO
 Аватар для Василий-Робот
28 / 28 / 8
Регистрация: 04.11.2009
Сообщений: 366
04.11.2009, 21:04  [ТС]
А что есть Slider "ползунок"? Где его найти?
0
 Аватар для BasicMan
19318 / 2626 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
04.11.2009, 21:27
Цитата Сообщение от Василий-Робот Посмотреть сообщение
А что есть Slider "ползунок"? Где его найти?
выкинь его в пропасть. вместо него поставь в начале кода в кнопке следующее:
Visual Basic
1
const bytS = (любое число от 1 до 10, а можно и до 100)
1
TECHNO
 Аватар для Василий-Робот
28 / 28 / 8
Регистрация: 04.11.2009
Сообщений: 366
04.11.2009, 21:32  [ТС]
Я в вакууме...
За помощь спасибо, но чувствую, что вопросы еще будут
0
 Аватар для (Lim)
6 / 6 / 0
Регистрация: 03.03.2010
Сообщений: 45
16.03.2010, 15:56
я думаю, надо в цикл
Visual Basic
1
For intI = 1 To 100000 * bytS
вставить команду DoEvents, а то при запуске наглухо вешается vb. И еще: нужно объявить intRev в шапке программы, а то он нулевой при нажатии на кнопку получается.
1
 Аватар для (Lim)
6 / 6 / 0
Регистрация: 03.03.2010
Сообщений: 45
24.03.2010, 06:45
Во вложении - архив с проектом запуска Земли по орбите и всякими регулировками. Интересно стало!
Вложения
Тип файла: rar Ellipse_form.rar (3.6 Кб, 213 просмотров)
0
Dzeshik Since
31.05.2013, 22:59
Для того, что бы установить " Ползунок", требуется пройти по этому пути: Проект --> Компоненты ( Components) --> Управление и там в списке выбрать Microsoft Windows Common Controls 6.0 и нажать " применить" или " ОК". После в мною инструментов появится значок " Ползунок"
01.06.2013, 04:11

Не по теме:

Dzeshik Since, ну наконец-то Вы нашли ползунок. Без Вас мы его три года искали:D

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.06.2013, 04:11
Помогаю со студенческими работами здесь

Движение объекта по траектории
Доброго времени суток! У меня следующая ситуация. На форме отрисоввывается несколько объектов со своими координатами. как мне...

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

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

Движение объекта по заданной траектории
помогите, как сделать чтоб прямоугольник двигался по прямоугольной траектории? Добавлено через 23 часа 27 минут :help:

Графика: движение объекта по определенной траектории
Нужно чтобы на фоне рисунка в Windows Form по определенной линии (прямая, кривая, синусоида и тд) двигался нарисованный корабль, дирижабль...


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

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

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru