Модераторы: SoWa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нахождение положения трехмерного кубика, Преобразование 2Д координат в 3Д 
:(
    Опции темы
Исполнитель234
Дата 28.6.2010, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 3.7.2008
Где: Украина

Репутация: нет
Всего: 1



Есть программа - она отображает трехмерные кубики на экране
Размеры кубиков 20 на 20 на 20 

При расстановке кубиков я использую функцию set_cube(i, j, k)
где i, j, и к координаты ячеек относительно осей х, у и z

 set_cube вычисляет x и y для мувика

Эту задачу я решил.

 Затык в обратном процессе - вычислить по х и у на экране  i, j, и к нужного мувика

Т.е. фактически нужно обратить функцию set_cube(i, j, k)

Код

function set_cube(i, j, k)
{
x1 = xCoord+20*k;
y1 = yCoord-20*j;
z1 = 10*i;
 
arr[n]._x=x1-z1*Math.SQRT1_2; 
arr[n]._y=y1+z1*Math.SQRT1_2; 
}


И написать обратную ей функцию вида getIJK(x1,y1):Array выдающую на выходе массив i, j, k

т.е.
Код



function getIJK(x1, y1):Array
{
   var i,j,k;
   //тут нужны формулы преобразования
   return new Array(i,j,k);
}



--------------------
Тестирую UI, консультирую по вопросам юзабилити, проектирую, составляю грамотные ТЗ.
PM MAIL WWW ICQ   Вверх
Исполнитель234
Дата 28.6.2010, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 3.7.2008
Где: Украина

Репутация: нет
Всего: 1



Все, решил сам:

Код

function getIJK(arr_x, arr_y):Array
{
   var i,j,k;
i = (arr_y - yCoord - 20*j) / 10 * Math.SQRT1_2;

j = (yCoord - arr_y - 10*i*Math.SQRT1_2) / 20;

k = (arr_x + 10*i*Math.SQRT1_2 - xCoord) / 20;

 return new Array(i,j,k);
}

--------------------
Тестирую UI, консультирую по вопросам юзабилити, проектирую, составляю грамотные ТЗ.
PM MAIL WWW ICQ   Вверх
Исполнитель234
Дата 28.6.2010, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 3.7.2008
Где: Украина

Репутация: нет
Всего: 1



Эх!
 
Думал что решил, ан нет...

Просто вывел систему уравнений которую надо решить, и вот уже битый час ее решаю.

Надо было в школе математику учить а не рисование
--------------------
Тестирую UI, консультирую по вопросам юзабилити, проектирую, составляю грамотные ТЗ.
PM MAIL WWW ICQ   Вверх
SoWa
Дата 29.6.2010, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 1
Всего: 74



Страшно, позабыл я уже математику.
Мысль:
Массив кубиков храни, и при клике проверяй область видимости кубиков в округе клика


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Flash"
AlDev
SoWa
  • Если вы хотите предложить кому-либо работу, то пишите или в личку, или оставляйте сообщения в специально предназначеном для этого форуме "Объявления о найме специалистов"
  • Один вопрос - одна тема. Не надо переходов от одного вопроса к другому.
  • Если вы хотите показать какой-нибудь ваш мульт, причём показать, а не предоставить исходник, то вам сюда
  • Вопросы по разработке интернет-приложений на Flex и вопросы по MXML пишите в раздел Flex
  • Смотрим в будущее. ActionScript 3 обсуждается в форуме ActionScript 3
  • Новости из мира Flash.
  • New! [code=ascript][/code] - подсветка ActionScript + wikipedia help

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, AlDev, SoWa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | ActionScript 1,2 | Следующая тема »


 




[ Время генерации скрипта: 0.0602 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.