The General Curl
The image you posted above is trace visualization for what is known as a divergence free vector field. To understand what that means, consider particles that move along the lines you see above (the field represents their instantaneous velocity), if the field is indeed divergence free, those particles will never collide. That's ...
ASCII Art rely on a fundamental concept, when characters are viewed from far, they no longer look like characters but rather some white and black blocks. Some characters look more black that others, for instance, a dot . colors a single pixel black, while an I colors more that one pixel black and thus it looks more black that a dot from far away.
Let us ...
Animation Nodes Version
Animation Nodes v2.1 includes a very fast and efficient noise functions and so I will be using this version in my answer. However, I also provided an alternative using older versions of Animation Nodes, though it is not as efficient as I stated above.
The image you posted above is a trace visualization for what is known ...
There is no intuitive way to do this in Animation Nodes. I proposed a system to the developer that should hopefully allow us to do this intuitively. But he is still studying it. In the meantime, I will tell you how to make such system manually.
Each execution in Animation Nodes is independent of the next one, and thus we can't pass data ...
Fragment Shader Solution
If we multiply the normalized polar angle by some number representing the number of strips and take its modulo with 1, it will give us a number of sub-normalized polar angle spaces.
If I get the fragment that is less than some scalar ranging between zero and one representing the thickness, we will get sharp strips.
If I get the ...
I will divide the answer into two parts being:
Implementing a simple particle system in Animation Nodes that is adaptable to achieve all the effects we want.
Adapt the particle system to avoid and slip around the sphere as shown in the gif posted.
The advantages of giving up on blender's particle system and using Animation Nodes instead ...
Here is my solution:
(updated to v3.5)
How to Use:
-First, download and install Animation Nodes v1.6 from here.
-Open the file, DIY your own sramble and solution notation list in Text Editor.
-Tweak parameters on Settings node if needed, then play animation.
Use standard move notations to control moves.
Solvable (any move ...
The Animation Nodes addon (AN) is a "Node based visual scripting system designed for motion graphics in Blender."
It allows the creation of procedural animations. Furthermore, it can achieve many effects that are otherwise only possible through programming.
To get a better impression of what is possible, check the showreels for 2015, 2016 and 2017.
Blender doesn't give value changes off the sleeve. What you need is to evaluate an animation (F-Curve) in current and previous frames and compute the difference. This solution uses a script that adds a custom frame change handler. Other way could be with PyDrivers or using Animation Nodes plugin.
Run this, it will add new properties to objects and it will ...
Unfortunally it is currently a limitation in Blender that keyframes you set on properties of a custom node are not visible in the Dope Sheet.
I suggest you create a controller object in the 3d view that you can animate normally. Than you can use eg the x location of that object to control the procedual animation.
A benefit of this method is that you don't ...
Here's a solution using OSL to read from multiple images based on the Object Index.
Enable OSL and paste the following into a new Text Editor datablock named something like dynamic_texture.osl :
vector Vector = P,
string FileName = "",
float Index = 0,
string Suffix = ".png",
output color Color = color(1,1,0)
It looks like the model is made using technique similar to metaballs in blender. To Create metaballs, in object mode Add > Metaball > Ball, and Add > Metaball > Plane for the surface
That kind of material can be achieved usin position from Geometry node, adding Separate XYZ, plugging z output to Math node set to "modulo" with unconnected socket at 1, and ...
Polygon Indices List
Before getting into the answer, let us first study some facts about polygon indices lists:
A polygon indices list is a list of tuples each of which include the indices of the vertices each polygon is composed of.
The order of indices of each polygon does not matter, so the polygon (triangle) with indices (0, 1, 2) is the same as (1, 2, ...
FreeStyle Edge Mark
Animation Nodes have a node Splines From Edges that takes a list of edges and vertices an returns splines that represents those edges. All we have to do is filter the edges by whether they are marked as freestyle or not. The blender API provide access to this data through the edge.use_freestyle_mark where it returns True if the edge is ...
Unfortunally the Object Instancer does not work in subprograms, because node it has to monitor the scene to keep track of a specific set of objects. It's very similiar to the Separate Text Object node.
There are two main ways to work around that:
Calculate the number of objects you need and create that many before the loop starts. For a simple grid there ...
You can use splines for that. Bezier splines to be more exact.
As input you need to have the start and end points with normals. Where you get these points from is the part where you have to be creative. I will show you here how to create splines from the mentioned input data as well as two methods how you can use this concept in practice.
Here is a ...
By looking at the gif above, we will divide our implementation into two parts:
Sphere Packing, where we try to find a list of locations and radii for the sphere such that they are non intersecting and look packed.
Generating Spirals, this part is relatively easy, all we have to do is find a parametric equation for the spiral over the spheres and replicate ...
Here is the simple scene that I made using animation nodes:
I made 2 arrows, and duplicated it 5*8 times:
Each arrow is sent to the node program, which determines the position in the space and the rotation:
First, I divided the index by 5 and took the remainder of the division to get the coordinates (x and y index) of the arrow:
Next, I just multiplied ...
Updated answer with animation technique (sort'a cheating)
So to generate an animation of the tetrix levels increasing I kind'a cheated.
Since my previous answer already used a dictionary to store all the levels, I simply wrote that data structure into a json file, then used an app handler function to read it prior to every frame change and load the current ...
We shall create the animation by morphing between those shapes sequentially. The first shape is a four-petal flower shape, this can be created by modulating the the amplitude of a circle based on a positive sine wave. First, we create a circle using its parametric equation:
Then the circle is scaled based on the absolute of a sine wave. The integral ...
The object could be a simple (say) Bezier curve, with a Bevel Object (another curve) assigned to it in its Properties > Geometry panel.
The 'Tilt' property of individual control points on a Bezier curve is keyable:
So just right-click it to set keyframes appropriately.. if you want a loop, set first and last keys to be visually identical, and go into the ...
I divide this Repeller Effect into parts:
Offsetting the locations with multiple-object effectors.
Changing the direction of arrows with respect to the effectors'
Part-1: Idea is, we offset the locations (grid-points) using the first effector then use those offsetted grid-points for next the effector with the help of reinitializing option of the ...
Animation Nodes provides a set of nodes that returns some information about particle systems, however, non of which provides any information regarding hair children, and this is a known limitation in blender.
To get around this, we shall replicate the children system in blender's particle system using Animation Nodes.
Our input ...
The most fundamental issue with your node tree is the fact that you included the file parsing node tree inside the loop. So for n number of iterations, you are slowing your node tree by n number of times, in this case 500x ! Furthermore, you need to take advantage of Animation Nodes's victorization abilities, that is, some nodes can process a set of data by ...
Using a data file to control position and rotation can be done using the animation nodes add-on.
If this is not installed, then install it from the Git repository
To install the animation nodes, see http://animation-nodes-manual.readthedocs.io/en/latest/user_guide/install/install.html
Tested in Blender 2.77
To start, create a simple scene with a sphere ...
I got it to work using a second mesh and the shrink wrap modifier (not the constraint).
First thing you need to do is add a single triangle mesh object.
Then place your cone object so it is sitting on top of the triangle.
Select the cone object, then shift select the triangle. Now tab into edit mode.
In edit mode select all three vertices and press ...
Spline From Branche
Starting from version 2.1 of Animation Nodes, the Splines From Edges node has a new method called Spline Per Branch which minimizes discontinuity by combining the vertices of each branch in a single spline. Below is a comparison between the Splines Per Edge (left) and the Splines Per Branch (right) methods:
The author ...
All you have to do is ray cast in the direction of the lamp starting from the vertices locations and use the points of intersection as the new vertices locations.
The foregoing example showed an orthogonal projection, another kind of projection would choose the ray direction based on the vertices locations as follows.
When you build a node tree in the Animation Nodes addon (AN), you are basicly creating a python script in a visual form.
Now you have to control when this script will be executed. If "Auto Execution" is turned off the script you "developed" only executes when you click on the Execute Node Tree button.
Many of the buttons you see in Blender ...
At present the method is not to create instances of the material, but to vary vertex color per object.
Assuming cycles render, cycles allows per object info on the same material as: random, obj index or vertex color.
(For Blender Internal render, there are other methods, it allows object color etc)
Imitating your case, a basic setup looks like this: