Scripting Example: Mini swirl flowers x6

Scripting Example: Mini swirl flowers x6

This is an advanced feature: see Scripting Explained.

To make this print:


Use this script:

const rose = (centerX, centerY, stepCount, turns, n, d, A) => {
  var results = []; 
  var k = n / d;
  var stepSize = turns * 2 * Math.PI / (stepCount);
  for (var theta = 0; theta < d * turns * 2 * Math.PI; theta += stepSize) {
    var x = centerX + A * Math.cos(k * theta) * Math.cos(theta);
    var y = centerY + A * Math.cos(k * theta) * Math.sin(theta); 
    results.push(x, y);
  }
  return results;
};

foodini.useIngredient(ingredients[0]);
var X = 80, Y = 60, SIZE = 20, STEPS = 200, TURNS = 1;
[[2,1], [4,1], [5,1]].forEach((nd, i) => {
  const pts = rose(X + 2 * (SIZE + 5)* i, Y, STEPS, TURNS, nd[0], nd[1], SIZE);
  foodini.drawPolyline(pts,false,false);
});
Y += 2 * (SIZE + 5);
[[3,2],[5,2], [5,4]].forEach((nd, i) => {
  const pts = rose(X + 2 * (SIZE + 5)* i, Y, STEPS, TURNS, nd[0], nd[1], SIZE);
  foodini.drawPolyline(pts,false,false);
});


    • Related Articles

    • Scripting Explained

      You can write JavaScript statements to tell Foodini what to print, giving you precise control. Many schools like this feature for a fun way to teach kids how to code. Don't know JavaScript? Don't worry! This is an advanced feature for those that want ...
    • Scripting Example: Hexegon x6

      This is an advanced feature: see Scripting Explained. To make this print: Use this script: const polygon = (x, y, size, ang, n) => {   var result = [];   var delta = 2 * Math.PI / n;   ang = ang * 2 * Math.PI / 360;   for (var i = 0; i <= n; i++) {   ...
    • Scripting Example: Rose

      This is an advanced feature: see Scripting Explained. To make this print: Use this script: const rose = (centerX, centerY, stepCount, turns, n, d, A) => {   var results = [];    var k = n / d;   var stepSize = turns * 2 * Math.PI / (stepCount);   for ...
    • Scripting Example: Triskelion x5

      This is an advanced feature: see Scripting Explained. To make this print: Use this script: var CENTER_X = 126, CENTER_Y = 84; function reverse(arr) {   var res = [];   for (var i = 0; i < arr.length; i += 2) {     res[i] = arr[arr.length - i -2];     ...
    • Import a 3D Model to Foodini Creator

      One of the great things about Foodini is that you do not need to know how to create a 3D model in CAD or have any knowledge about STL files. Don't know what any of that is? Don't worry. You can skip this page.  For those that are familiar with the ...