
Новости • Форум • Помощь • Поиск • Участники • Календарь • База |
Гость ( Вход | Регистрация ) | Выслать повторно письмо для активации |
Страницы: (2) 1 [2] ( Перейти к первому непрочитанному сообщению ) | ![]() ![]() |
Mr.Core Профиль Статус: - Группа: Модераторы Рейтинг: 17 ![]() |
Ендукъ
>>к(маленькое) – магнитуда ( сила\модуль ) , вычисляется как к = 2PI\Lambda, где лямбда – длина волны. Насчет раров да, я тоже не могу их кидать, только зипы, хотя раньше кидал, точно помню alCa Что характерно, они и не показывают, 90% вышки можно отправлять в копро, помогает только прикладная математика |
Mr.Core Профиль Статус: - Группа: Модераторы Рейтинг: 17 ![]() |
Небольшое дополнение к предыдущей статье. В нем я хочу немного показать и рассказать про метаболлы. Все наверно видели их, но не все представляют как они работают. Между тем базовый принцип очень легок для понимания
(IMG:http://cs9446.vkontakte.ru/u37428331/142182582/x_eb4a4289.jpg) Для начала, не вдаваясь в формулу, можно провести эксперимент. Откройте фотошоп или что-нибудь подобное ( что умеет рисовать радиальные градиенты ) и сделайте такой градиент, от белого к прозрачному, примерно на треть холста. Сдублируйте и отодвиньте второй круг. Выйдет примерно следующее (IMG:http://cs9446.vkontakte.ru/u37428331/142182582/y_24937ba1.jpg) Как видно, образовался тот самый метаболл. Что делает его метаболлом ? это некоторая сглаженная граница, область. Если теперь поделить картинку на три области по степени яркости ( это очень грубо, только для понимания ) и удалить скажем, черный и белый, а серый оставить, то выйдет такая штука ( удаленная область залита красным ) (IMG:http://cs9446.vkontakte.ru/u37428331/142182582/y_3b8bbd4f.jpg) Не очень презентабельно, но как видно, четкий метаболл ( два-де случай, но с три-де работает так же ), или точнее его изолиния. Надеюсь, это примерно понятно. Теперь можно поглядеть на формулу и собрать простое дерево в айсе, чтобы стало совсем понятно. Эксперимент будет состоять в получении такой же картинки на вейтмапе поли-грида, соотвественно, аргументами функции метаболла будут координаты точек. Лезем за формулой, например сюда http://ru.wikipedia.org/wiki/Metaball Видим там (IMG:http://upload.wikimedia.org/math/c/9/6/c968c46bdf751774f56a55df779abf7a.png) Это можно объяснить так – для каждой точки грида на основании её коориднат x\y\z ( у нас две-де грид, поэтому z=0 ) вычисляется значение ( потенциал ) U от каждого центра ( или точнее метаболла, в нашем случае это будут нолики ) и затем все U суммируюутся, если полученная сумма меньше порога U0 , это означает, что точка находится за пределами влияния всех метаболлов и она не представляет для нас интереса. Сам потенциал U вычисляется по некоторой функции, коих сейчас довольно много, одни более быстры чем каноническая, другие вносят определенные коррекции. Но мы для простоты будем использовать приведенную ниже, каноническую (IMG:http://upload.wikimedia.org/math/e/7/2/e7243181f1a0775401dd6085a8b032fa.png) Думаю, тут все понятно – X0\Y0 – координаты нолика ( центра метаболла ), Х\Y – координаты точкек грида. Теперь можно собирать. Перепишем формулу в более понятный вид RESULT = clamp ( sum ( U( x,y,0)) , 0 , 1 ); U = 1 / ((x - x0)^2 + (y - y0)^2) То есть вычисляем потенциал, суммируем все потенциалы, обрезаем верхним и нижним порогом, и RESULT подаем в вейтмапу\колормапу для отображения во вьюпорте. (IMG:http://cs9446.vkontakte.ru/u37428331/142182582/y_ee367e0b.jpg) (IMG:http://cs9446.vkontakte.ru/u37428331/142182582/y_4e10aaa3.jpg) Хотелось бы расширить зону влияния каждого нула, для этого просто отскейлим положения точек грида и центров метаболл. (IMG:http://cs9446.vkontakte.ru/u37428331/142182582/y_ba911011.jpg) Ну и теперь если мы просто поставим фильтр на выходе, скажем если значение лежит в некотором диапазоне, то выход = 1, если нет, то = 0. Используется нода In Range (IMG:http://cs9446.vkontakte.ru/u37428331/142182582/y_1e7a3992.jpg) Двигая нолики, можно наблюдать, как строится наш два-де метаболл. Надеюсь, статья была чем-то познавательной :). ![]() |
Mr.Core Профиль Статус: - Группа: Модераторы Рейтинг: 17 ![]() |
чета формулы с википедии оказались прозрачными, ну просто открывайте их в отдельном окне
|
iamvfx Профиль Статус: Группа: Заслуженные артисты Рейтинг: 9 ![]() |
помню, сколько потратил времени, чтобы понять как воспроизвести производную в айсе...)) оказалось тупо вычитанием значения предыдущего кадра из текущего))) классная статья, Олег!
|
Ендукъ Профиль Статус: слон Группа: Элита Рейтинг: 14 ![]() |
..и еще раз спасибо! :clapping:
Остапа понесло :) |
bananov Профиль Статус: слон Группа: Артисты Рейтинг: 3 ![]() |
Mr.Core , спасибки тебе большое при большое.
:clapping: :clapping: :clapping: :good: :good: :good: |
qwerty Профиль Статус: слон Группа: Артисты Рейтинг: 0 ![]() |
а почему в первой статье "пи" это 90? можно было в синус тупо 360 загнать?)
|
Mr.Core Профиль Статус: - Группа: Модераторы Рейтинг: 17 ![]() |
да, ошибся, пи = 180 в градусах
|
eXed Профиль Статус: Pacific Группа: Администраторы ![]() |
Мужики, статейку в WIKI нет желания оформить?
|
![]() |
![]() ![]() |