» Ударим Спредом по бездорожью
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

Ударим Спредом по бездорожью

English | French | Japanese | Italian | Korean | Mandarin

The original english version of this page is newer and may contain information this translation does not have! Click here to view the english version.

Этот урок подразумевает, что вы выполнили упражнения из урока 4: Подробнее об IOBoxes.

Повторение - мать учения!

Теперь, когда мы разобрались с IOBoxes, пришло время еще раз взглянуть на то, как можно работать со спредами.

Эти два примера показывают нам, как интерпретируются значения двух спредов с разным количеством слайсов. Обратите внимание что в первых двух и последних двух результат оказался одинаковым, несмотря на разные входные данные.

Все ноды сначала проверяют количество слайсов всех входящих спредов. Из спреда с максимальным количеством слайсов определяется количество слайсов для выходного спреда. Затем остальные спреды последовательно повторяются пока количество слайсов не совпадет.

Предыдущий параграф может обескуражить больше, чем помочь в понимании предмета. Ничего страшного. Это из серии тех вещей, которые проще показать, чем объяснить.

  • И правда все очень просто.

Давайте просто взглянем на следующие примеры. Все должно встать на свои места.

Удобство использования нескольких спредов

Предположим, вам понадобился RoundRect (GDI), линейно распределенный по оси X, и теперь вы хотите, чтобы квадраты были поочередно зеленого и красного цвета.

А теперь попробуем сделать сетку из 25 квадратов 5х5? Первое что приходит в голову, просто подцепить еще один LinearSpread (Spreads) ко входу Y на RoundRect (GDI). Но вот что получится:

RoundRect (GDI) по-прежнему рисует себя только 5 раз. Это проиходит потому что максимальное количество слайсов в спреде = 5. Слайсы по оси X совпадают со слайсами по оси Y.

Благо в vvvv уже есть нод, специально написанный для создания сетчатых структур. Поставьте Cross (2D) так же, как показано на скриншоте.

Cross (2D) генерирует все возможные сочетания входных слайсов и выдает по 25 слайсов для осей X и Y. Обратите внимание, что расстояние между квадратами можно регулировать вторым входом в LinearSpread (Spreads).

В заключение давайте снова добавим немного интерактива. Скажем, мы хотим знать расстояние от каждого квадрата до курсора мышки. И снова находится нод для подобных вещей: Points2Vector (2D) считает расстояние между 2 точками. Соедините ноды как показано ниже и подумайте, чо означают эти 25 цифр в нижнем справа IOBox.

Верно. Points2Vector (2D) показывает нам расстояние от курсора для всех 25 квадратов. Теперь масштабируем эти расстояния до разумных размеров и привязываем к размеру RoundRect (GDI). Это и называется мультимедиа.

Теперь увеличьте количество слайсов в LinearSpread (Spreads) и вы все поймете. Не важно, сколько у вас объектов на экране - патч остается таким же простым как в самом начале.

Конечно, это далеко не все, что можно рассказать о спредах, но на сегодня вы свободны. К тому же вы всегда можете изучить help-патчи категории Spreads самостоятельно.

anonymous user login

Shoutbox

~14h ago

fleg: This Tuesday, Cologne: exhibition opening of "interwoven", textile disinformation patterns created with vvvv. https://fleg.de/news/exhibition-interwoven

~14d ago

manuelgonzalvez: Assimp nodes all broken afted Win Update w/exception "COM object that has been separated from its underlying RCW(...)"

~14d ago

manuelgonzalvez: @levi thanks would love to! anyway managed to get something similar working based on forum search and anthokio's patches.

~15d ago

levi: @ravasquez thanks. 31.2 x86 verrion worked. @manuelgonzalvez i have a dx11 projectTexture if u a want.

~16d ago

manuelgonzalvez: Anyone has a dx11 port of "projectedTexture" dx9 fx for projection mapping?

~16d ago

manuelgonzalvez: Anyone has a dx11 port of "projectedTexture" dx9 fx for projection mapping?

~16d ago

ravazquez: @levi not sure bout the ImagePack, but I believe VL.OpenCV should give you the same tools and should work with beta just fine

~17d ago

levi: anyone knows of a VVVVpacks.image that works for elliot's projector calibration patches?x64,dx11. always crashes v4 on solve.

~24d ago

Lorenz: VJing with GIFS: https://lorenzpotthast.de/gifjockey/ A fun little side project, that I first prototyped in v4 and now turned web-based ;)

~1mth ago

schlonzo: finally fixed in 4.8 nice1