Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование в широком смысле слова > Математика

Математика Методы математического моделлирования, программирование математических концепций, роль математики в создании игр

Ответ
 
Опции темы
Старый 12.12.2012, 18:04   #1
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
cos продукт зная разницу размеров.

Задача такая:
1. Есть плоскость. Она поделена на количество колонок. Например:
Ширина плоскости: 600.
Количество колонок: 8.
Градус поворота: 45.
2. Мне нужно повернуть каждую колонку вокруг своей оси (Y). При повороте она становиться уже. Чтобы вычислить насколько уже:
offset = 600 - (600 / 8 * cos(45));
Получаем 22 (округлил).
Таким образом поворачивая колонки и смещая их влево на 22 * (индекс_колонки + 1), мы будем иметь что-то похожее как если мы держим гармошку в обеих руках, но двигаем правую руку влево, когда левую держим на месте.
Справа освободиться пространство, исходя из вычислений 176.

И теперь сама задача:
Мне нужно указать пространство которое освободиться справа. Например 400.
Далее исходя из этих данных мне нужно вычислить угол поворота на который нужно повернуть колонки чтобы они нормально согнулись.
С 400 отступа, мы имеем 200 остаток - это до какой степени нужно сжать колонки.
Т.к. 8 колонок, имеем ширину каждой колонки в сжатом виде - 25. Теперь зная что в нормальном виде колонка имеет ширину 75, а в сжатом 25.
Мне нужно получить градус на который нужно повернуть чтобы из 75 получить 25. Методом подбора нашёл что это 70.5 градусов, но как это получить математически?
Какой операцией мне это сделать?

Решение (спасибо dsd!):
Использовать acos, для преобразования косинуса в градус:
acos(25 / 75) = градус который нам и нужен.

Последний раз редактировалось moka, 12.12.2012 в 20:52.
(Offline)
 
Ответить с цитированием
Старый 12.12.2012, 18:37   #2
jimon
 
Сообщений: n/a
Ответ: cos продукт зная разницу размеров.

нарисуй что ли
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Mr_F_ (12.12.2012)
Старый 12.12.2012, 19:20   #3
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: cos продукт зная разницу размеров.

есть косинус у тебя 25/75
потом функцией acos из косинуса можно получить градус угла
Миниатюры
Нажмите на изображение для увеличения
Название: Безымянный.png
Просмотров: 951
Размер:	32.9 Кб
ID:	18277  
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо dsd за это полезное сообщение:
moka (12.12.2012), Mr_F_ (12.12.2012)
Старый 12.12.2012, 19:25   #4
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: cos продукт зная разницу размеров.

Сообщение от dsd Посмотреть сообщение
есть косинус у тебя 25/75
потом функцией acos из косинуса можно получить градус угла
acos - это операция. СПАСИБО!

Я неуч, 8 классов школы же..
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо moka за это полезное сообщение:
dsd (12.12.2012), impersonalis (12.12.2012)
Старый 12.12.2012, 20:10   #5
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: cos продукт зная разницу размеров.

Сообщение от MoKa Посмотреть сообщение
acos - это операция. СПАСИБО!

Я неуч, 8 классов школы же..
http://www.twirpx.com/file/526751/

Выгодский М.Я. Справочник по высшей математике

вот шикарная книга где все кратко и понятно и с картинками. Это я с нее иногда скриншоты в этот раздел делаю.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо dsd за это полезное сообщение:
moka (12.12.2012), Mr_F_ (12.12.2012)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 14:10.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com