Halloween Costume ideas 2015

SVERCHOK / Parametric Snippets 2

Continuation of the "Sverchok Snippet" series...

Zeffii's Mandala (2014)

The more time spent tinkering inside Sverchok, whether is is for purely for parametric modeling or for "procedural animation" (still R&D), one will learn bit more about Math, the flow of data and also Python.

Somewhat, I am also started to feel curious about DATA STRUCTURE and ALGORITHM. Although they are still pretty complex.

At the ongoing Sverchok Thread, there are plenty of gems and great examples that you want to study. I wish that I could break down every complex examples in there. But I guess it is for you to see.
http://blenderartists.org/forum/showthread.php?272679-Addon-WIP-Sverchok-parametric-nodes-for-architects

You don't want to miss a thing.

For BUG REPORT, you submit it in this GitHub thread for Sverchok. This is also where you want to download the latest Sverchok Add-On. Updated daily!
https://github.com/nortikin/sverchok

POLAR COORDINATE

Any kind of work that involves CIRCULAR design will need Polar Coordinate.

Example video on Polar Coordinate
https://www.youtube.com/watch?v=UlkUFX0rk3Y

Instead of Degree, for the ANGLE, we need to use Radian.

Angle(Radian) = Angle(Degree) x PI / 180

Information about "RADIAN":
http://en.wikipedia.org/wiki/Radian

Inside Sverchok:



CIRCLE WITH VARIATIONS

Ingredient:
  • LIST INPUT
  • LIST ITEM
Similar to how we can "pick" INPUT using OBJECT IN and LIST ITEM, with Cirle Generator node, we can now able to create VARIATIONS directly.


Above is an example setup where we specify 5 LIST of INTEGERS, that pipe into the CIRCLE node, which then can be "pick" using LIST ITEM.

If in the past we can only have 1 INPUT like below with no variations...


The latest update to Circle node can give you instant variations:


ANALYZING AREA

  • Area node
  • List Mask
In recent updates, Sverchok is getting some nodes that are allowing you to "analyze" things like AREA, DISTANCE, even KDTREE POINT CLOUD.

Let's start with simple thing: Analyzing Area of faces of object. I will use the Soccer Ball object that we made in previous post.


Soccer Ball is a good example because we can clearly see the AREA for the 5-gons (pentagonal) shape and 6-gons (hexagonal) shapes. You see above how simple it become to do this sort of thing. In the past, we do this using Python! Well, there is actually a way to see the AREA of faces, by going to Edit Mode and turn on Face Info. However, I think there is bigger advantage to having this DATA being previewed in Sverchok and then we are able to also process the data.


If we turn off the "Count faces", the result will be the TOTAL AREA of the model.

So, what can these be useful for? Well, we can FILTER faces using LIST MASK, for example:


Above, I am deleting all faces with "Area less than 0.3". You see how LIST MASK can be used that way, using expression which is really cool.

POLYGON BOOM

  • Polygon Boom
  • Vector Normal
  • Noise (Vector/Scalar)
To separate every faces of Polygon from Mesh, we can use Polygon Boom. It is very straight forward to use. What interesting is in one example, Gerardo (LIERO) is showing a useful example where we can use POLYGON BOOM to explode surface (separate every faces, and push out).


Above, I am using Vector Normal node for the Vertices so that each Vertices know which Normal to go from the each Faces. Below, we can add more "random" feel using NEW Noise node. This can simulate particle explosion, but with simple control.

All this can be animated, although animation itself is still in R&D Phase in Sverchok and can be slow, but I think it is quite beautiful trick.

NOTE: keyframed node cannot be seen inside Graph Editor or Dope Sheet!


VECTOR EVALUATE (aka EVALUATE LINE aka BLENDSHAPE/SHAPKEY)

  • Evaluate Line aka Vector Evaluate




EXAMPLE: Spherize Deformer (reloaded)





At a glance, Vector Evaluate is similar to Vector Move, however Vector Evaluate is more like "Shapekey" or Blendshape. To create proper "Shape Key" however, we need to set it up like below:

(PROPER BLENDSHAPE / SHAPEKEY HERE....)

VECTOR DROP x POLYGON BOOM

  • Vector Drop
  • Polygon Boom
  • Centers Polygon
There is a nice example of Vector Drop here:

I would like to actually see a node in Sverchok that can "extract" UV of 3D model. For now, this Vector Drop actually a node that can "lay down" every vector into floor.

It is more useful when used with Polygon Boom.



SIMPLE WAVE ANIMATION
I don't give many animation examples yet, since it is still quite early, but Procedural animation does work in Sverchok up to certain level. Baking it out is another matter, there is few hack here and there, like using Bakery node, but it tends to crash Blender. 

Few things to keep in mind:
  • Frame Info, Current Frame is often too fast, so we always want to MULTIPLY it with another number
  • When using FORMULA, we always pipe in ARRAY DATA into the X, not the n[0], n[1], etc. this is to ensure the output is also an array of data to be used for animation.
NOTE: When using Bakery node, be careful, it is safer to turn if OFF before you save the BLEND. Otherwise, you won't able to re-open the blend anymore (crashes Blender)


COMPLEX SPIDER WALKING ANIMATION

This one is a great example from NIKITRON. A procedural long legged creature walking on top of procedurally created surface.



PARTICLE INSTANCER INTO SVERCHOK

Liero was pointing this out. Apparently procedurally generated Particle is respected by Sverchok via Particle Instancer, this is one of that "ultimate" unpredictable abstract open ended result. There is still few limitation here and there. But I guess when things are maturing, we can solve and find a work around any limitation.


CIRCULAR WEAVING #869

Alexander is giving this awesome example of CIRCULAR WEAVING procedural model. You definitely want to get the BLEND before it disappeared. It is complex, but also useful for production.


SVERCHOK DRIVEN, MULTIPLE OBJECTS

Having Sverchok Driving Animation (Action) and Drivers could result in a very interesting complex procedural animations. At the moment, I think it is still missing something. We can trick is using Script Node, but I think it is just a little bit complicated. 

EXAMPLE CASE: Procedural Arrow

I was inspired to recreate "Procedural Arrow" Tutorial by Adhi Hargo inside Sverchok.

The video is Indonesian language unfortunately, but basically in one video from Blender Python tutorial series, Adhi is explaining the process of creating Procedural Arrow Mesh.

The tutorial video is not yet completed, he is revising the part when he needs to add SEGMENTED ARROW tail. He has covered the ARROW WIDTH and TIP WIDTH.

I manage to recreate this inside Sverchok, up to certain level. The way I am doing here is probably not the most efficient if I just directly converting from Python coding to Parametric node-tree style of design.

NOTE: Remember that we could also nodify the Python code into Sverchok Script Node (SN). With SN, we can contain the Python function and have a node that takes INPUT and gives OUTPUT (mesh object) that we intend to create.

I could definitely design the procedural arrow a different way for example the SEGMENTED TAIL part could be more easier to create if I have planned it before hand. Instead of modifying the original base arrow, I could probably start with nothing and thinking how to design the arrow in parametric way.

Or I could start by loading a BASE Arrow, and then start modifying parts of it via scaling, etc.

However, to get to a complete Arrow Design model, it definitely requires some PLANNING.

From this study, I started to see how we could approach such a design step by step thinking to "convert" the BASE ARROW MODEL, into something that is MORE PARAMETRIC.

We would probably "cheat" by using:
1. Triangle
2. Rectangle
3. Scaling
4. Segmentation using duplications.

I let you try designing procedural arrow, your own way.



Thanks Adhi for your Python tutorial. Looking forward for your next video tutorial! English translation would be nice for English reader :)




UPDATE 20140508:

Zeffii gave me this example of "procedural arrow" using Scripted Node in Sverchok

It's Magical!

MATRIX INTERPOLATION ARRAY

Almost like Array Modifier with Object. Almost. But I think I am missing something.


  • List Range
  • Matrix Interpolation
  • Matrix Out
  • Matrix In




ZEFFII'S MANDALA

"One circle, one kdtree edges. bam. Mandala"


Post a Comment

MKRdezign

Contact Form

Name

Email *

Message *

Powered by Blogger.
Javascript DisablePlease Enable Javascript To See All Widget