#!/usr/bin/env python
n = 500
o = open('test_dataset_for_lic.vtk','w')
print >> o, '''# vtk DataFile Version 3.0
Test Dataset For LIC Filter
ASCII
DATASET STRUCTURED_POINTS
DIMENSIONS {0} {0} 1
SPACING 1 1 1
ORIGIN 0 0 0
POINT_DATA {1}'''.format(str(n), str(n * n))
print >> o, '''SCALARS zeros double
LOOKUP_TABLE default'''
for i in xrange(n * n):
	print >> o, 0
print >> o, 'VECTORS source double'
for i in xrange(n):
	y = (2.0 * float(i) / float(n)) - 1.0
	for j in xrange(n):
		x = (2.0 * float(j) / float(n)) - 1.0
		r_cubed = (x**2 + y**2) ** 1.5
		if r_cubed != 0.0:
			print >> o, (x / r_cubed), (y / r_cubed), 0.0
		else:
			print >> o, 0.0, 0.0, 0.0
print >> o, 'VECTORS rotor double'
for i in xrange(n):
	y = (2.0 * float(i) / float(n)) - 1.0
	for j in xrange(n):
		x = (2.0 * float(j) / float(n)) - 1.0
		print >> o, y, -x, 0.0
o.close()
