![]() |
|
||||||||||
|
|||||
|
Всем флэшерам привет.
![]() Снова я со своими баранами. ![]() Теперь у меня мысль распределять объекты не по кругу, col=10; rad=100; for (i=1; i<=col; i++) { step=(Math.PI*2)/col; this["x"+i]=0+Math.sin(step*i)*rad; this["y"+i]=0; this["z"+i]=0+Math.cos(step*i)*rad; } Кто знает, прошу помощи.Добавлено через 50 часов 13 минут Кто нибудь... на помощ, пажаааалста. Нахожу в инэте формулы, но не могу понять как их прикрутить. ![]() |
|
|||||
|
Регистрация: 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 минуты если совсем туго. приведи здесь найденные формулы. Флэш свстроенных стредств рисования трехмернойстей не имеет, поэтому нет никакой разницы на каком форуме ты найдешь нужные тебе формулы. |
|
|||||
|
вот примерчик....
|
|
|||||
|
[+4 24.01.09]
Регистрация: Jan 2009
Сообщений: 25
|
Fatality, на тебя последняя надежда!!
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
|
|
|||||
|
От очень полезная информация от chugart. За что большое СПАСИБО. У меня куча формул в листинге, из которых я не всё понимаю. Т.е. я знаю как что изменить, зачем та или иная формула и функция, но некоторые кусочки, связанные с математическими формулами, не понятны. У меня есть формула для вычислению X и Z с условием равномерного распределения по окружности, а вот как применить формулу сферы. Тут затупил
Т.е. нужно ещё вычислить Y. Буду ещё ковыряцо.Касаемо примера amexdesign, то у меня это уже есть. Мне теперь нужно расставить правильно координаты не по кольцу а по сфере. |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:04. |
|
|
« Предыдущая тема | Следующая тема » |
|
|