Push Rotate Pop - ff6347/extendscript GitHub Wiki
This script shows how to rotate things around a center pointer We push and pop the matrix to the center so we can rotate around that point. in Basil a rotation is always around the 0,0 coordiante.
#includepath "~/Documents/;%USERPROFILE%Documents";
#include "basiljs/bundle/basil.js";
// rotate an object in basil.js
function draw() {
// code goes here -----------
var doc = b.doc(); // set some preferneces of the document
b.clear(doc); // clears document
doc.documentPreferences.properties = {
pageWidth: 100,
pageHeight: 100
};
b.pushMatrix();
b.translate(b.width / 2, b.height / 2);
for (var i = 0; i < 20; i++) {
// the rotate function expects radians
// http://basiljs.ch/reference/#rotate
// https://en.wikipedia.org/wiki/Radian
b.rotate(b.radians((360 / 20) * i));
b.println('Degree: ' + (360 / 20) * i + ' Radians: ' + b.radians((360 / 20) * i));
b.rect(0, 0, 10, 10);
}
b.popMatrix();
// code end ------------------
}
b.go();