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

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

04.11.2009, 19:43. Показов 11462. Ответов 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 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru