ArrayFire: graphics/surface.cpp (original) (raw)

#include <math.h>

#include

using namespace af;

static const int M = 30;

static const int N = 2 * M;

int main(int, char**) {

try {

af::Window myWindow(800, 800, "3D Surface example: ArrayFire");

const array x = iota(dim4(N, 1), dim4(1, N)) / M - 1;

const array y = iota(dim4(1, N), dim4(N, 1)) / M - 1;

static float t = 0;

while (!myWindow.close()) {

t += 0.07;

array z = 10 * x * -abs(y) * cos(x * x * (y + t)) +

sin(y * (x + t)) - 1.5;

}

fprintf(stderr, "%s\n", e.what());

throw;

}

return 0;

}

Window object to render af::arrays.

A multi dimensional data container.

Generic object that represents size and shape.

An ArrayFire exception class.

virtual const char * what() const

Returns an error message for the exception in a string format.

void surface(const array &S, const char *const title=NULL)

Renders the input arrays as a 3D surface plot to the window.

bool close()

Check if window is marked for close.