
24.01.2009, 00:17
|
|
Регистрация: Jan 2009
Сообщений: 18
|
Тебе нужно перевести изометрическую или какуюнить другую проекцию в двумерное пространство. Точнее написать функцию такого перевода.
Делал такое давным давно на паскале... строил движещиеся трехмерные поверхности.
Зачем сделать самому - чтобы разобратсья в формулах.
Как сделать самому:
1. Выбери какая проекция тебе нужна. Наверняка в школе было черчение и ты знаешь несколько проекций и правила черчения в этих проекциях объектов: Аксонометрическая. Изометрическая. Если нет посмотри в интернете что это такое.
2. Нарисуй набумаге экран компьютера с координатными осями Y X. а внутри них нарисуй оси выбранной проекции. Вспомни как рисовали трехмерные графики на математики оси X Y Z. У тебя получиться трехмерные координаты в двухмерных координатах.
3. Нарисуй в трехмерных координатах точку с координатами x1 y1 z1. У тебя получитсья точка в трехмерном пространстве, но так как твои трехмерные координаты нарисованы в свою очередь в двух мерных координатах, то у твоей точки автоматически появляется еще координаты x2 и y2 на твоем экране. Нанеси их на оси координат экрана. Таким образом твоя точка будет иметь два набора кординат: в двухмерном простанстве и рехмерном пространстве.
4. Самое важное. Построить зависимость x2, y2 от x1, y1, z1. Для того важно знание тригонометрии и правила задания размеров в выбранной проекции. Ты будешь использовать косинусы синусы. Если ты знаешь что это такое. то особых проблем у тебя не будет.
5. Теперь когда у тебя есть функция перевода трехмерных координат в двумерные. Тебе нужно узнать функцию сферы, которая записыватся в следующем виде R^2 = X^2 + Y^2 + Z^2, где R радиус сферы, а '^2' возведение в квадрат. Например выражаешь из формулы координату z и задавая последовательно координаты Y и X с нужным тебе шагом получаешь набор точек сферы X Y Z. С помощью твоей функции переводишь этот набор в набор двумерных координат. Это и будут координаты твоих объектов.
6. Также не забудь что для того чтобы это выглядело действиетльно сферой: объекты расположенные дальше в трехмерном пространстве должны быть меньше. Зависимость размеров ты можешь узнать из свойтсв выраннойпроекции. Чем дальше объект тем меньше, чем ближе тем больше. и объекты находящиеся в переди имеют более выский depth? т.е. перекрывают задние объекты. Зависимость размера и depth можно описать одной из координат трехмерног опространства которая отвечает за располоджение объекта в глубине трехмернооого пространства.
6. Применяешь свое знание рисования во флеше и вперед.
PS: В твоем случае со сферой я бы выбрал не декартову а сферическую систему координат. ЧТо это такое тоже можешь узнать из интернета.
PS: Если тебя напугали слова проекция. тригонометрия, система кординат и т.п. - ты взялся не за ту задачу.
Добавлено через 2 минуты
если совсем туго. приведи здесь найденные формулы.
Флэш свстроенных стредств рисования трехмернойстей не имеет, поэтому нет никакой разницы на каком форуме ты найдешь нужные тебе формулы.
|