Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
Reska
0 / 0 / 2
Регистрация: 13.12.2015
Сообщений: 249
#1

Угол отскока шара

05.02.2017, 05:54. Просмотров 1568. Ответов 6
Метки нет (Все метки)

Вопрос с тремя методами сразу, отдельно для каждого, нужны варианты отскока от горизонтальной стены и вертикальной, универсально для произвольной стены, понятно что стена должна находиться в пределах от -pi до pi
дано начальное направление и угол стены, последняя переменная получается из первых двух и есть предполагаемый угол отражения который нужно получать в методах
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
            yield return new BilliardTestCase(45, 90, 135);
            yield return new BilliardTestCase(10, 90, 170);
            yield return new BilliardTestCase(171, 90, 9);
            yield return new BilliardTestCase(90, 90, 90);
            yield return new BilliardTestCase(91, 90, 89);
            yield return new BilliardTestCase(90, 0, 270);
            yield return new BilliardTestCase(270, 0, 90);
            yield return new BilliardTestCase(-95, 0, 95);
            yield return new BilliardTestCase(10, 0, 350);
            yield return new BilliardTestCase(40, 0, 320);
            yield return new BilliardTestCase(0, 45, 90);
            yield return new BilliardTestCase(45, 45, 45);
            yield return new BilliardTestCase(44, 45, 46);
            yield return new BilliardTestCase(-44, -45, -46);
            yield return new BilliardTestCase(44, -45, -134);
            yield return new BilliardTestCase(0, 10, 20);
            yield return new BilliardTestCase(0, -10, -20);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2017, 05:54
Ответы с готовыми решениями:

Расчета угла отскока шарика от стены
Нужно реализовать метод для расчета угла отскока шарика от стены. Считайте, что...

Движение шара по форме
Создайте приложение, в котором с помощью меню можно задать направление движения...

Определение столкновения шара и блока
Если честно забача больше по геометрии, чем по программированию, но все таки....

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

Каким образом можно построить на C# изображение шара как многогранника?
Какие средства можно использовать в Visual Studio? И как можно это реализовать?...

6
Fulcrum_013
Заблокирован
05.02.2017, 06:28 #2
Цитата Сообщение от Reska Посмотреть сообщение
начальное направление и угол стены
Про этот момент по подробнее. Из этого угла нужно получить нормаль к поверхности в точке касания. А при наличии нормали просто расчитывается отраженный вектор.
0
Reska
0 / 0 / 2
Регистрация: 13.12.2015
Сообщений: 249
05.02.2017, 07:40  [ТС] #3
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Про этот момент по подробнее. Из этого угла нужно получить нормаль к поверхности в точке касания. А при наличии нормали просто расчитывается отраженный вектор.
задается направление шара в градусах к стене расположенной тоже под произвольным углом
0
Fulcrum_013
Заблокирован
05.02.2017, 07:44 #4
Цитата Сообщение от Reska Посмотреть сообщение
задается направление шара в градусах к стене расположенной тоже под произвольным углом
Градусы от чего меряются от ГСК? В таком случае и нормаль и вектор скорости тривиально вычисляемы.
0
Reska
0 / 0 / 2
Регистрация: 13.12.2015
Сообщений: 249
05.02.2017, 12:45  [ТС] #5
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Градусы от чего меряются от ГСК? В таком случае и нормаль и вектор скорости тривиально вычисляемы.
понятнее не стало

все еще
0
TopLayer
744 / 566 / 298
Регистрация: 23.10.2016
Сообщений: 1,342
Завершенные тесты: 7
05.02.2017, 13:48 #6
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
double GetBallBounce(double ballAngle, double wallAngle)
{
    wallAngle += 90;
    ballAngle += 180;
    
    double diff = wallAngle - ballAngle;
    double res = ballAngle + 2 * diff + 360 * 5;
 
    res %= 360;
    if (res > 180)
    {
        res -= 360;
    }
    
    return res;
}
Три теста неправильных, где ожидаемый угол больше 180, а должен быть между -180 и 180
0
Reska
0 / 0 / 2
Регистрация: 13.12.2015
Сообщений: 249
06.02.2017, 10:12  [ТС] #7
можно еще точнее, не понимаю связи с произвольными стенами, как это отражается на формуле y=2b-a, b радианы стены, a направление шара, y предполагаемый угол
0
06.02.2017, 10:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.02.2017, 10:12

Вычисление длину окружности, площади круга и объема шара (с вводом значений из текстового файла)
Доброго времени суток вам, форумчане! Совсем недавно начала изучение C# и...

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

Измерить угол от точки (x,y) до курсора
Есть картинка, которую нужно повернуть с таким градусом, который получается,...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru