Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/56: Рейтинг темы: голосов - 56, средняя оценка - 4.79
TECHNO
 Аватар для Василий-Робот
28 / 28 / 8
Регистрация: 04.11.2009
Сообщений: 366

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

04.11.2009, 19:43. Показов 11474. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru