#### Overview of this book

Mastering openFrameworks: Creative Coding Demystified
Credits
Foreword
Acknowledgement
www.PacktPub.com
Preface
Free Chapter
openFrameworks Basics
Drawing in 2D
Building a Simple Particle System
Images and Textures
Working with Videos
Working with Sounds
Drawing in 3D
Computer Vision with OpenCV
Using Depth Cameras
Networking
Perlin Noise
Index

## Basic utility functions

The last section of the chapter mentions some utility functions, which will be used in examples across the book, or just can be useful in your projects.

• `ofMap( v, v0, v1, out0, out1 )`: This function performs linear interpolation of a float value `v` from the segment `[v0, v1]` to the segment `[out0, out1]`. Note, it does not control boundaries of `v`, and just uses the formula (v-v0)/(v1-v0)*(out1-out0) + out0. For controlling boundaries, call this function with the last optional parameter set to `true`: `ofMap( v, v0, v1, out0, out1, true )`. Then the result will be clamped to `[out0, out1]`.

• `ofClamp( v, v0, v1 )`: This function clamps the float value `v` to the segment `[v0, v1]` that is returns `min( max( v, v0 ), v1 )`.

• `ofRandom( a, b )`: This function generates a pseudo-random number in the segment `[a, b]`. (Actually, it returns a value always less than that of `b`).

• `ofNoise ( x )`, `ofNoise( x, y )`, `ofNoise( x, y, z )`, and `ofNoise( x, y, z, w )`:These functions return Perlin noise value, see the details in Appendix B, Perlin Noise.

• `ofToString( v )`: This function converts the `int` or `float` value `v` into string-returning value

• `ofToInt( s )` and `ofToFloat( s )`: These functions convert the string `s` into `int` or `float` returning values respectively.

• `ofGetWidth()` and `ofGetHeight()`: These functions return the current width and height of the project's screen, in pixels.

• `ofGetElapsedTimef()`: This function returns the value of seconds lapsed from the project's start. This is a `float` value, measured with millisecond accuracy. For example, returned value 123.4 means 123 seconds and 400 milliseconds.

• `ofShowCursor()` and `ofHideCursor()`: These functions show and hide the mouse cursor.

For printing information into a console window, you can use the standard `cout` stream. For example, for printing time from the project's start, use the following code:

`cout << "Time: " << ofGetElapsedTimef() << endl;`

Here, `endl` is a standard constant, which means starting a new line in the console.