Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 18.06.2018
Сообщений: 10

Отталкивание шара от стенок круга

18.06.2018, 10:22. Показов 2021. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Нужно написать так чтобы шар двигался внутри круга и отталкивался от его стенок.

Сделал так чтобы шар отталкивался от стенок квадрата или прямоугольника, но чтобы от круга не могу.
Нужна какая-то формула, чтобы шар двигался не далее радиуса круга.


Код отталкивания отталкивания в прямоугольнике:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var speedX = 10;
var speedY = 10;
 
        this.ball.x+=speedX;
        this.ball.y+=speedY;
 
 
        if (this.ball.x >= 1200 - this.ball.width/2) {
            this.ball.x = 1200 - this.ball.width/2;
            speedX =- speedX;
        }
        if (this.ball.x <= 720 + this.ball.width/2) {
            this.ball.x = 720 + this.ball.width/2;
            speedX =- speedX;
        }
        if (this.ball.y >= 380 - this.ball.height/2) {
            this.ball.y = 380 - this.ball.height/2;
            speedY =- speedY;
        }
        if (this.ball.y <= 100 + this.ball.height/2) {
            this.ball.y = 100 + this.ball.height/2;
            speedY =- speedY;
        }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.06.2018, 10:22
Ответы с готовыми решениями:

Отталкивание шара от стенок
Добрый день) Нужно написать программу, в которой шар отталкивается от стенок и меняет цвет после каждого удара. Объясните, пожалуйста,...

Отталкивание шара от стенок - C++ Builder
помогите разобраться с кодом, сам пишу на С# а здесь С ++, не могу понять что к чему, можете комментарии подписать что как делает и для...

Отталкивание квадрата от стенок окна
Как реализовать отталкивание квадрата от стенок окна в builder? Видел пример с шариком, вроде разобрался, а вот с квадратом не понятно....

2
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
18.06.2018, 14:15
Цитата Сообщение от vladtarn Посмотреть сообщение
Нужна какая-то формула, чтобы шар двигался не далее радиуса круга.
Да формула-то там простая. Круг - это фигура ограниченная окружностью. Окружность определяется как геометрическое место точек, равноудаленных от центра. Стало быть для определения того, находится ли данная точка в пределах окружности надо просто вычислить ее расстояние до центра.
JavaScript
1
2
3
4
        function isInCircle(x, y, centerX, centerY, radius)
        {
            return Math.sqrt((x - centerX) * (x - centerX) + (y - centerY) * (y - centerY)) <= radius;
        }
Передаешь этой функции координаты точки, а также координаты центра и радиус окружности, и она возвратит булево значение, которое укажет, находится ли данная точка внутри круга.
0
0 / 0 / 1
Регистрация: 18.06.2018
Сообщений: 10
18.06.2018, 16:05  [ТС]
Спасибо. Работает

JavaScript
1
2
3
4
5
var distance = Math.sqrt(Math.pow((app.view.width/2 - this.sprite.x),2) + Math.pow((app.view.height/6.6 - this.sprite.y), 2));
        if(distance >= 200){
            speedX = -speedX;
            speedY = -speedY;
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.06.2018, 16:05
Помогаю со студенческими работами здесь

Отражение шара от стенок коробки
Я начал пытаться делать отражение шара от стенок коробки, но не особо получается. Очень нужна помощь. Компилятор не ругается, но шар просто...

Определите размер шара, используя сумму трехзначных чисел в качестве площади круга, окружности круга и радиуса
Определите размер шара, используя сумму трехзначных чисел в качестве площади круга, окружности круга и радиуса.

Как можно сделать, чтобы шары отскакивали внутри круга от стенок и между собой?
Как можно сделать, что-бы шары отскакивали внутри круга от стенок и между собой?

Вычислить длину окружности, площадь круга, объем шара
вычислить используя оператор if, L окружности при k=1 (L= 2*pi*r); S круга k=2 (L=pi*(r*r)); V шара k=2 (L=4*pi*(r*r*r)/3). Радиус один и...

Вычисление длины окружности, площади круга и объема шара
Доброго времени суток нужна помощь для вычисления длины окружности, площади круга и объема шара одного и того же заданного радиуса


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
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 существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru