Creating a spherical flow field with Perlin noise
In this recipe we will learn how to use Perlin noise with a spherical flow field and animate objects in an organic way around a sphere.
We will animate our objects using spherical coordinates and then transform them into Cartesian coordinates in order to draw them.
Getting ready
Add the necessary files to use Perlin noise and draw with OpenGL:
#include "cinder/gl/gl.h" #include "cinder/Perlin.h" #include "cinder/Rand.h"
Add the following useful using
statements:
using namespace ci; using namespace ci::app; using namespace std;
How to do it…
We will create the Follower
objects that move organically in a spherical flow field. Perform the following steps to do so:
We will start by creating a
Follower
class representing an object that will follow the spherical flow field.Add the following code snippet before the application's class declaration:
class Follower{ public: Follower(){ theta = 0.0f; phi = 0.0f; } void moveTo( const Vec3f& target ){ prevPos...