Skip to content
fabianmoronzirfas edited this page Nov 21, 2016 · 2 revisions

This script shows how to rotate things around a centre pointer We push and pop the matrix to the centre so we can rotate around that point. in Basil a rotation is always around the 0,0 coordinate.

#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();

Home

Clone this wiki locally