kleines Entwerfen "gesteckt nicht geschraubt"

digitales Entwerfen
G. Wurzer, W.E. Lorenz, S. Swoboda. Im Zuge der Lehrveranstaltung wird die Digitalisierung vom Entwurfsprozess bis zur Produktion an Hand einer selbsttragenden Holzstruktur untersucht: vom Stadtmöbel über die Skulptur zur Brücke. ...

Visual representation of adjacencies

eCAADe SIGraDi 2019 - Architecture in the Age of the 4th Industrial Revolution. (paper & talk)
W Lorenz, G. Wurzer. This paper is based on the assumption that a key challenge of good design is spatial organisation as a result of functional requirements. The authors present a new NetLogo application that assists designers to understand the proposed functional relationships (of spaces) by visualizing them graphically. ...

kleines Entwerfen customized bricks

digitales Entwerfen
G. Wurzer, W.E. Lorenz, S. Swoboda. Nach positiver Absolvierung der Lehrveranstaltung sind Studierende in der Lage algorithmisch zu Denken. Durch das Präzisieren der Problemstellung sind die Studierenden in der Lage den sinnvollen Einsatz von Algorithmen im Planungsprozess gedanklich zu erfassen. ...

Bridgemagazine Webpage

Webdesign für das bridgmagazin – Medieninhaber (Herausgeber) und Verleger: Österreichischer Bridgesportverband (ÖBV) | Audio Video Werbe-GmbH.

 

Golden Rectangle

This project uses three.js. Make your choice and press reset. Or press play button and change settings.

code

///////////////////////////////////
// GOLDEN RATIO ///////////////////
/* global variable Golden Ratio */

function goldenRatio(b, maxIterations) {
  var x = 0;
  var y = 0;
  var z = 0;
  var a = 1.0;
  var goldenRatio = 1.6180339887;
  var c = b;
  var r = 1.0;
  var fact = program.get('position');

  var i = 1;

  while (i <= maxIterations){
    r = mod (i, 4); //(i % 4);
    if (i == 1) {
      x = x + b / 2;
      y = y + b / 2;
      z = z + b / 2;
    } else if (i > 1) {
      if (r == 1) { // 0.25
        x = x - ((c - b) / 2);
        y = y + ((c - b) / 2) * fact;
        z = z - ((c + b) / 2);
      } else if (r == 2) { // 0.5
        x = x + ((c + b) / 2); // red
        y = y + ((c - b) / 2) * fact; // green
        z = z - ((c - b) / 2); // blue
      } else if (r == 3) { // 0.75
        x = x + ((c - b) / 2);
        y = y + ((c - b) / 2) * fact;
        z = z + ((c + b) / 2);
      } else if (r == 0) { // 0
        x = x - ((c + b) / 2);
        y = y + ((c - b) / 2) * fact;
        z = z + ((c - b) / 2);
      };
    };
    a = b / goldenRatio;

    //if (i == maxIteration) {
    drawCube (b, x, y, z);
    //}

    c = b;
    b = a;
    i = i + 1;
  }
}

function drawCube(b, x, y, z) {
  /* construct object */
  var object = new THREE.Object3D();
  /* cube */
  var mGeometry = new THREE.BoxGeometry( b, b, b );
  var mMaterial = new THREE.MeshLambertMaterial( { color: 0xffff00 } );
  var cube = new THREE.Mesh( mGeometry, mMaterial );
  cube.position.set(x - 2, y, z + 1);
  /* casting shadows */
  cube.castShadow = true;
  object.add ( cube )
  scene.add ( object );
}