![]() |
Позиция картинок в галерее: зависимость rotationZ от x свойства класса Bitmap
Вложений: 1
Уважаемые форумчане, никак не могу подобрать формулу для взаимосвязи между свойством x и свойством rotationZ класса Bitmap для правильного позиционирования изображений в галерее. Число картинок динамичное, ширина и высота у всех картинок одинаковая с учётом погрешности в 200 пикселей.
|
cos(x)?
|
Не вижу никакого rotationZ. Напрягитесь объяснить свою проблему.
|
Цитата:
|
угадал)
|
Цитата:
Добавлено через 16 минут Цитата:
Если я вас правильно понимаю, вы предлагаете вычислять зависимость угла наклона картинки посредством косинуса отношения длины прилежащего катета (т.е. проекции на ось х) к гипотенузе (т.е. к ширине изображения)? Добавлено через 30 минут Выходит что я ошиблася, надо искать зависисоть rotationY от угла наклона и количетва изображений. Спасибо, я кажется понял ход ваших мыслей: тут нужно отношение прилежащего катета к гипотенузе выразить через арккосинус, тогда как раз получится искомый угол который уже можно будет присвоить свойству rotationY |
Цитата:
Цитата:
левая граница по координате х будет находиться в точке cos(num*90deg/count)*radius. правая граница будет находиться в точке x1 = cos(num*90deg/count)*(radius+width); Нет никаких гениальных формул. либо вы неправильно объясняете что вам надо. |
Цитата:
По сабжу: я всётаки считаю более правильным придерживаться такого алгоритма: Код:
прилежащий катет (т.е. проекция на ось х) = ширина картинки * (количество картинок минус текущая позиция картинки в массиве)/количество картинок; |
вы надеетесь, что 9 картинок на четверть окружности дадут иной угол, нежели 10 градусов?
может уже расскажите простыми словам (без "зависимость", "отношение", "катет") что вам нужно получить в итоге и какие исходные данные? |
Цитата:
|
Ну так и при чем здесь катеты, арккосинусы и прочие гипотенузы? Без них 90 градусов никак не разделить на кол-во "страниц"?
|
Цитата:
Код AS3:
Ваш, Wolsh, вариант мне больше нравится, т.к. с ним будет легче позиционировать изображения при анимации, спсаибо за идею |
молчу-молчу. сообщения длиннее 1 строчки больше писать не буду.
|
Цитата:
Вам, Sync, респект за идею, а Wolsh респект за идею более компактного варианта. Добавлено через 47 минут Более компактный вариант: Код AS3:
В любом случае, считаю, что оба варианта идеи имеют место быть. Просто тут уже дело вкуса. |
Цитата:
Цитата:
Цитата:
Цитата:
|
Цитата:
Что же касается подогрева процессора тригонометрическими вычислениями, то разница в производительности между первым и вторым решением вообще не ощутима, особенно учитывая то обстоятельство, что времени на загрузку картинки надо гораздо больше, чем времени на вычисление её позиционирования. А учитывая тот факт, что расчёт позиционирования можно выполнять во время загрузки каждой картинки, то в этом случае ни для глаза пользователя изменений, ни уж тем более причин для разогрева процессора, каких-либо ощутимых, не будет наблюдаться. |
Фраза "что-то типа" не намекает Вам, что дальнейшее писано на коленке? ОК, уточняю: bitmapPict[i].rotationY = i * 90 / count;
Из-за Вашего творческого подхода к оформлению, там, несомненно, где-то еще и единица должна болтаться. Но это уж Вам, как автору креативного цикла, решать, где. Мне лень расшифровывать эту красоту. |
| Часовой пояс GMT +4, время: 18:19. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.