### Circular Path using Jit.anim.path

I was wondering if there was a way to get a circular path for an object to move around. I know you can set the interpmode to spline on the jit.anim.path to get rounded edges but the append messages used to draw are giving me a hard time and I cannot seem to get a circular looking path. Is it possible to get something that looks like jit.gl.sketch with a framecircle 3 0 360 message being sent to it? Thanks.

i made something similar (made a helix spline) with javascript and connected the outlet directly to the jit.anim.path inlet… if you set height to zero, you’ll get a circle.

autowatch = 1;
inlets = 1;

outlets = 1;

var Point3D = function(x,y,z){

this.x = x;

this.y = y;

this.z = z;

this.toString = function(){

return "Point3D[ x: "+this.x+", y: "+this.y+", z: "+this.z+" ]";

}

return this;

}

var Spline3D = function(Point3DArray){

this.points = Point3DArray;

if(typeof(this.points)=="undefined"){

this.points = new Array();

}

return this;

}

var Helix = function(numPoints, numFrequency, radius, height){

this.Points = new Array();

this.radius = radius;

this.height = height;

this.freqency = numFrequency;

this.arcsize = this.freqency / numPoints;

this.stepsize = this.height / numPoints;

for(var i = 0; i < numPoints; i++){

var x = Math.sin(i*this.arcsize * 2 * Math.PI) * this.radius;

var y = i * this.stepsize;

var z = Math.cos(i*this.arcsize * 2 * Math.PI) * this.radius - 65.;

var tmp = new Point3D(x,y,z);

//post(tmp + "n");

this.Points[i] = tmp ;

}

return this;

}

var numPoints = 123.;

var numFrequency = 1.1;

var radius = 30.;

var height = 50.0;

var time_matrix = new JitterMatrix(1,"float32", numPoints);

var point_matrix = new JitterMatrix(3,"float32", numPoints);

var helix = new Helix(numPoints, numFrequency, radius, height);

function fillMatrix(){

for(i=0;i

post(helix.Points[i] + "n");

x = helix.Points[i].x;

y = helix.Points[i].y;

z = helix.Points[i].z;

time_matrix.setcell1d(i,y*0.05);

// if you want to add some randomness to the vertical axis

//y = y - Math.random() * (height/numPoints) *2. - (height / 2.);

point_matrix.setcell(i,"val",x,y,z);

}

}

function pack(mat1, mat2){

var packer = new JitterObject("jit.pack");

packer.offset = [0,0];

packer.jump = [1,3];

var outmat = new JitterMatrix(4,"float32",numPoints);

packer.matrixcalc([mat1,mat2],outmat);

return outmat;

}

fillMatrix();

bang();

function bang(){

outmat = pack(time_matrix,point_matrix);

outlet(0,"jit_matrix",outmat.name);

outlet(0,"play",1);

outlet(0,"rate",-0.5);

outlet(0,"loop",0);

}

now i want to create the jit.anim.path object dynamicly in javascript, but i don’t know how to assign the input matrix to the path object., any suggestions? jit.anim.path.matrixcalc does not work…

Forums > MaxMSP