Цитата:
Сообщение от Wolsh
А преобразовать формулу в обратную — не проще? Что-то типа bitmapPict[i].rotationY = i * count / 90;
Использовать один раз деление, чтобы узнать угол между листами, и затем одно умножение для каждого листа в цикле вместо монструозной тригонометрической формулы, считающей обратно собственные входные параметры только для того, чтобы раз в 10 замедлить выполнение кода и слегка подогреть процессор — это дело вкуса? Греческий эпос может нравиться Вам больше, чем японские хайку, но в программировании это — вопрос эффективности. И читабельности кода, разумеется.
|
Позволю себе не согласиться с вами. Такое решение i * count / 90 не подходит по той причине, что картинок может быть больше 10, а значит угол разворота "книги" будет больше чем 90 градусов. За идею спасибо, но я всё-таки остановлюсь на своём решении.
Что же касается подогрева процессора тригонометрическими вычислениями, то разница в производительности между первым и вторым решением вообще не ощутима, особенно учитывая то обстоятельство, что времени на загрузку картинки надо гораздо больше, чем времени на вычисление её позиционирования. А учитывая тот факт, что расчёт позиционирования можно выполнять во время загрузки каждой картинки, то в этом случае ни для глаза пользователя изменений, ни уж тем более причин для разогрева процессора, каких-либо ощутимых, не будет наблюдаться.