Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 15.01.2008, 21:55
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 1  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
По умолчанию Найти высоту и ширину деформированого прямоугольника

Вот, чет уже второй день никак не срастается, а казалось так просто... %)
Вобщем, задачка такая:
На входе получаем деформированый как угодно клип (для простоты - прямоугольник). Нужно узнать длины сторон до деформации, желательно не изменяя _rotation.
Для простоты можно оформить как в задачнике:
Дано клип размерами 459,7х459,7, сжат по высоте на 50% и повернут на 45 градусов.
(Изначально он соответственно был 400х500, но вот как из имеющихся данных это получить - я не знаю =)

Название: rect.gif
Просмотров: 510

Размер: 1.2 Кб
кртинку приложил, если не понятно описал.
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 15.01.2008 в 22:04.
Старый 15.01.2008, 22:41
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Высота и ширина это проекция фигуры на оси. Поэтому реальные размеры, без обратных преобразований, можно определить только зная математическое описание фигуры.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 15.01.2008, 23:09
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 3  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
А какие еще параметры нужно знать? руководствуясь только приведенными данными флеш всегда изобразит одну и ту же фигуру - а я нет %)))

Т.е. в итоге, то, что я сделал - просто до пересчета поворачиваю прямоугольник в 0 градусов, тогда высота и ширина помноженные на скейл и будут равны соответствующим сторонам. Но это как-то криво...
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 15.01.2008 в 23:25.
Старый 15.01.2008, 23:21
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 4  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Цитата:
Сообщение от wvxvw
руководствуясь только приведенными данными
С чего это? Флеш также знает координаты вершин формы. А ты нет
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 16.01.2008, 00:08
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 5  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Мож он и знает, но не признается, партизан, млин =) Как бы их у него спросить? %)
А вообще, похоже, что не, не знает, ему и этого хватает как-то...

ЗЫ. И вообще, если сделав пару нехитрых операций с клипом я тоже смогу получить нужные данные - значит их можно и вычислить как-то, вот ток чего-то у меня никак не выходит...
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 16.01.2008 в 00:14.
Старый 16.01.2008, 09:18
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 6  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Цитата:
Сообщение от wvxvw
И вообще, если сделав пару нехитрых операций с клипом я тоже смогу получить нужные данные - значит их можно и вычислить как-то, вот ток чего-то у меня никак не выходит...
Флеш хранит первоначальные данные объекта и применяет к ним матричные преобразования, а не к текущим данным.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 16.01.2008, 03:33
olexandr вне форума Посмотреть профиль Отправить личное сообщение для olexandr Посетить домашнюю страницу olexandr Найти все сообщения от olexandr
  № 7  
Ответить с цитированием
olexandr
 
Аватар для olexandr

Регистрация: Aug 2007
Адрес: Ukraine, Kyiv
Сообщений: 643
Отправить сообщение для olexandr с помощью ICQ Отправить сообщение для olexandr с помощью MSN Отправить сообщение для olexandr с помощью Skype™
озадачил ты конечно
посидел полчасика - вроде придумал (если конечно мы знаем _rotation)
сейчас спать хочется, если до утра ответа не будет, то на работе набросаю!

а, вообще, +10 за задачу!

Старый 16.01.2008, 10:09
CorC вне форума Посмотреть профиль Отправить личное сообщение для CorC Найти все сообщения от CorC
  № 8  
Ответить с цитированием
CorC
 
Аватар для CorC

Регистрация: Jul 2006
Адрес: Земля>Россия>Вологда
Сообщений: 3,056
Отправить сообщение для CorC с помощью ICQ Отправить сообщение для CorC с помощью MSN Отправить сообщение для CorC с помощью Skype™
Из таких входных данных решить эту задачу математически нельзя, под эти условия подходит любой прямоугольник, вписанный в этот квадрат. Поворачивать придется.
__________________
"We Are The Champions My Friends!" Queen

Старый 16.01.2008, 10:20
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 9  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Задача часто не имеет определенного ответа.
Пример. Берем прямоугольник с теми же размерами, 400 на 500. Поворачиваем его на 45 градусов и получаем размеры 636.4 на 636.4, а квадрат со сторонами 450 на 450, при том же угле, дает те же самые 636.4 на 636.4.
То есть, при одинаком угле поворота и конечных размерах, мы имеем разные базовые размеры.
__________________
(и)Нильс.ru | Плагины для FlashDevelop


Последний раз редактировалось iNils; 16.01.2008 в 11:08.
Старый 16.01.2008, 12:16
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 10  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Цитата:
Сообщение от iNils
Задача часто не имеет определенного ответа.
Пример. Берем прямоугольник с теми же размерами, 400 на 500. Поворачиваем его на 45 градусов и получаем размеры 636.4 на 636.4, а квадрат со сторонами 450 на 450, при том же угле, дает те же самые 636.4 на 636.4.
То есть, при одинаком угле поворота и конечных размерах, мы имеем разные базовые размеры.
Ок, спасибо. Это, пожалуй, самый убедительный пример...

Ну и... я не знаю... но это как-то "не честно" со стороны флеша не давать полную информацию о клипе. Это, конечно, не баг, но очень неприятная фича... Как-то не по-людски, это, вобщем... Ведь, если подумать, если бы я знал исходные, а не вычисленные размеры - я бы и сам смог легко их вычислить, а вот наоборот - никак. =\

ЗЫ. Даже не знаю... есть большое желание написать в Адоби по этому поводу... как считаете, стоит?
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 16.01.2008 в 12:22.
Создать новую тему Ответ Часовой пояс GMT +4, время: 14:09.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.