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();
⚠️ **GitHub.com Fallback** ⚠️