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

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

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

Регистрация: Dec 2007
Адрес: NA
Сообщений: 741
Отправить сообщение для ShockWave512 с помощью Skype™
По умолчанию Перевод системы координат в Евклидову

Встала задача перевести координаты флешового displayObject в нормализованную Евклидову систему координат.
Она "слегка" отличается от флешовой, такую вроде в школе проходят для всех функциональных 2Д графиков.
Красный спрайт - родитель, от него считаются координаты, то есть его ширина и высота = (1,1),
положение=(0,0), координаты родителя в евклидовой будут =(х:-1, у:1), (ширина=2, высота=2)
Вопрос состоит в формуле перевода, у меня что то совсем ничего в голову не приходит
Картинку с пояснениями прилагаю. Техническое задание от заказчика тоже (в самом низу).

Цитата:
Техническое задание.
(-1, 1)--------(0, 1)--------(1, 1)
(-1, 0)--------(0, 0)--------(1, 0)
(-1, -1)-------(0, -1)-------(1, -1)
где точка (0, 0) центр спрайта
x и y - положение спрайта относительно центра всей области анимации
(если представить человека в профиль и выделить части голова, туловище, рука, нога,
то координаты спрайтов будут такие голова (0, 1), туловище (0, 0), рука (0, 0.5), нога (0, -0,5)).
используется нормализованная система
Миниатюры
Нажмите на изображение для увеличения
Название: euclid.jpg
Просмотров: 352
Размер:	81.6 Кб
ID:	28444  

Старый 13.09.2012, 16:14
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 2  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Код AS3:
euclidY = -flashY;
__________________
Дети не должны знать о своих родителях

Старый 13.09.2012, 16:40
ShockWave512 вне форума Посмотреть профиль Отправить личное сообщение для ShockWave512 Посетить домашнюю страницу ShockWave512 Найти все сообщения от ShockWave512
  № 3  
Ответить с цитированием
ShockWave512

Регистрация: Dec 2007
Адрес: NA
Сообщений: 741
Отправить сообщение для ShockWave512 с помощью Skype™
2Tails - совсем не сходится, у меня еще исходная область становится "больше" в новом измерении
Миниатюры
Нажмите на изображение для увеличения
Название: euclid2.jpg
Просмотров: 312
Размер:	66.1 Кб
ID:	28445  

Старый 13.09.2012, 16:57
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 4  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Код AS3:
var ration = 1.4;
euclidX = flashX*ration;
euclidY = -flashY*ration;
__________________
Дети не должны знать о своих родителях

Старый 13.09.2012, 17:03
ShockWave512 вне форума Посмотреть профиль Отправить личное сообщение для ShockWave512 Посетить домашнюю страницу ShockWave512 Найти все сообщения от ShockWave512
  № 5  
Ответить с цитированием
ShockWave512

Регистрация: Dec 2007
Адрес: NA
Сообщений: 741
Отправить сообщение для ShockWave512 с помощью Skype™
Tails - 0.7 * 1.4 = 0.98
это спрайт почти на грани квадрата, совсем не то

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

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Ну я написал ответ на вопрос "Перевод системы координат в Евклидову". Она у вас на 1.4% "больше" флешовой, и отражена по y. Собственно формула и получается та, что я написал выше.

Или я вас не понял?
__________________
Дети не должны знать о своих родителях

Старый 13.09.2012, 17:12
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 7  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Офтопик: а в чём эскиз нарисован? А то может на вооружение инструмент взять

Старый 13.09.2012, 17:22
ShockWave512 вне форума Посмотреть профиль Отправить личное сообщение для ShockWave512 Посетить домашнюю страницу ShockWave512 Найти все сообщения от ShockWave512
  № 8  
Ответить с цитированием
ShockWave512

Регистрация: Dec 2007
Адрес: NA
Сообщений: 741
Отправить сообщение для ShockWave512 с помощью Skype™
2expl - 3ds max

2Tails - согласен что я мог коряво все это описать, но там видно на рисунке что "площадь" увеличивается ровно в 2-а раза (200%), а координата центра "уходит в евклидову" (-1, 1), а координата максимальной "положительной" точки в (1, -1), самое сложное тут не преобразование размера объекта, тут очень все мутно для меня с координатами


Старый 13.09.2012, 17:33
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 9  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Координаты чего? Точки центра красного спрайта?
Если я правильно понял, вы хотите использовать его как контейнер?

Сделайте тогда точку регистраций красного спрайта в верхнем левом углу, это сделает задачу на 20% проще.

Объясните что это у вас за зелёный квадрат который вам нужно двигать, где он находиться ? Внутри красного квадрата?

Объясните причём тут евклидовое пространство, нужно вводить и выводить координаты в нём?
__________________
Дети не должны знать о своих родителях

Старый 13.09.2012, 17:45
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 10  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
ShockWave512, вы по какой формуле переводите "флеш" координаты в свои, что у вас площадь увеличивается аж 2 раза?

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

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

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


 


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


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