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

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

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

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

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

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

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

12
 Аватар для Toxa33rus
3917 / 918 / 125
Регистрация: 16.04.2009
Сообщений: 1,944
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 / 2625 / 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 / 2625 / 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 / 2625 / 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
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru