Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 02.07.2015
Сообщений: 2

Как сделать вылет шара по касательной

02.07.2015, 09:22. Показов 1569. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!

Столкнулся со следующей проблемой. В моем примере два шара А и Б.
А - неподвижный, Б - вращается вокруг него (как спутник вокруг планеты).
При нажатии на кнопку "W" шар Б должен вылететь по касательной к орбите вращения.

Подскажите как лучше это сделать?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.07.2015, 09:22
Ответы с готовыми решениями:

Как сделать заливку шара
Uses Graph,crt; Var grDriver : Integer; grMode : Integer; ErrCode : Integer; {----------------} ...

Как сделать приближение\удаление шара?
Вобщем по заданию, нужно приблизить\удалить шар Шар прорисовал, но когда пытаюсь увеличить диаметр мне выдает ошибку public class...

Как сделать движение шара бесконечным ?
Код отталкивания шара от стенок прямоугольника присутсвует. sing System; using System.Collections.Generic; using...

4
103 / 90 / 19
Регистрация: 15.04.2015
Сообщений: 353
02.07.2015, 15:39
Всё зависит от того, как вы делаете вращение. По сути, на ваш шар Б действуют две силы - сила, которая притягивает его к шару А, и как раз сила, касательная к орбите. Так что, по сути, вам нужно просто убрать первую силу.
0
 Аватар для IrineK
2023 / 1641 / 425
Регистрация: 23.02.2011
Сообщений: 6,002
Записей в блоге: 25
02.07.2015, 16:24
Цитата Сообщение от lentinant Посмотреть сообщение
и как раз сила, касательная к орбите.
При равномерном движении по окружности по касательной сила (ускорение) не действует.
По касательной направлен вектор скорости.
0
103 / 90 / 19
Регистрация: 15.04.2015
Сообщений: 353
02.07.2015, 18:19
Цитата Сообщение от IrineK Посмотреть сообщение
При равномерном движении по окружности по касательной сила (ускорение) не действует.
По касательной направлен вектор скорости.
Ну, я прикидывал ситуацию с точки зрения реализации в Unity. И поскольку я не знаю, как будет устроено вращение у автора, сделал такое предположение.
0
0 / 0 / 0
Регистрация: 02.07.2015
Сообщений: 2
03.07.2015, 03:43  [ТС]
В моем случае шар Б вращается следующим образом

C#
1
transform.RotateAround (center, Vector3.up, roundSpeed * Time.deltaTime)
center - центр шара А, с координатами (0, 0, 0)
roundSpeed - заданная скорость


При нажатии на кнопку "W":

C#
1
2
3
4
5
if (Input.GetKeyDown (KeyCode.W))
    {
         roundSpeed = 0f;
         GetComponent <Rigidbody> ().velocity = -transform.forward * speed;
        }

В целом данный код работает. Шар улетает по касательной. Но если немного усложнить задачу то код перестает работать.

Например, я добавил еще один шар В (с тегом "Planet") и следующий код:

C#
1
2
3
4
5
6
7
8
9
10
void OnTriggerEnter (Collider other)
    {
        if (other.tag == "Planet")
        {
            center.Set (other.transform.position.x, 0f, other.transform.position.z);
            roundSpeed = 100f;
            
            GetComponent <Rigidbody> ().velocity = -transform.forward * 0f;
        }
    }

Т.е. если шар Б пападает в зону шара В, то задается новый центр вращения и скорость вращения. Линейная скорость speed становится равной нулю. Шар А начинает вращаться вокруг нового шара В, но при нажатии на кнопку "W" он не улатет по касательной.

Ребята, два вопроса:

1) В чем ошибка?
2) И почему перед -transform.forward пришлось поставить знак " - "?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.07.2015, 03:43
Помогаю со студенческими работами здесь

Чему равна напряженность поля у поверхности шара; на расстоянии 2 м от центра шара; внутри шара?
Электрический заряд 9 нКл равномерно распределен по поверхности шара радиусом 1 м. Чему равна напряженность поля 1) у поверхности шара; ...

Как сделать грамотное трение для мячика (шара)
Вопрос в том, что насколько можно понять дело в friction(dynamic) для шара. Шар катится по quad у которого стоит Меш-коллайдер без...

Как сделать так, чтобы тело двигалось по линии шара?
Как сделать так, чтобы тело двигалось по линии шара? плиз

Как сделать чтобы полоска показывала траекторию полета шара Unity2D
Как сделать чтобы полоска показывала траекторию полета шара

С клавиатуры вводится радиус шара. Вычислить объем шара и площадь поверхности
помогите плиз, кто чем может.. очень надо сделать 2 проги на Visual Basic. 1. С клавиатуры вводится радиус шара. Вычислить объем шара и...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru