Menger Sponge

This project uses three.js. Make your choice and press reset.

code

///////////////////////////////////////////////////////////////////////
////////////////// MENGER SPONGE //////////////////
/* recursive */

function mengerSponge(posI, posJ, posK, boxSize, iteration, maxIterations) {
  /* construction of menger sponge */
  for (var i = 1; i <= 3; i++) {
    for (var j = 1; j <= 3; j++) {
      for (var k = 1; k <= 3; k++) {
        if (
            ( i != 2 && j != 2 && k != 2 ) ||
            ( i != 2 && j != 2 && k != 1 ) || ( i != 2 && j != 2 && k != 3 ) ||
            ( i != 2 && j != 1 && k != 2 ) || ( i != 2 && j != 3 && k != 2 ) ||
            ( i != 1 && j != 2 && k != 2 ) || ( i != 3 && j != 2 && k != 2 )
           ) {
          if (iteration < maxIterations) {
            mengerSponge((posI + i * boxSize), (posJ + j * boxSize), (posK + k * boxSize),
                                    (boxSize / 3), (iteration + 1), maxIterations);
          } else if (iteration = maxIterations) {
            drawCube( i, j, k, posI, posJ, posK, boxSize );
          }
        }
      }
    }
  }
}
function drawCube(i, j, k, posI, posJ, posK, boxSize) {
  /* construct object */
  var object = new THREE.Object3D();
  /* cube */
  var mGeometry = new THREE.BoxGeometry( boxSize, boxSize, boxSize );
  var mMaterial = new THREE.MeshLambertMaterial( { color: 0xffff00 } );
  var cube = new THREE.Mesh( mGeometry, mMaterial );
  cube.position.set(posI + ((i + 1) * boxSize) - 3, posJ + ((j + 1) * boxSize) - 1, posK + ((k + 1) * boxSize));
  /* casting shadows */
  cube.castShadow = true;
  object.add ( cube )
  scene.add ( object );
}

Designing dynamic hospitals for pandemics

Student Works; Design Studio 2020W.

Wolfgang E. Lorenz and Gabriel Wurzer. The design studio "designing a dynamic hospital for pandemics" took place in the winter term 2020/2021 at TU Wien, during the 2nd wave of the SARS-CoV-2 pandemic. ...

Fractal and Fractional:
Multilayered Complexity Analysis in Architectural Design

Multilayered Complexity Analysis in Architectural Design: Two Measurement Methods Evaluating Self-Similarity and Complexity
Journal Paper: Fractal and Fractional, 5 (2021), 4; S. 1 - 25.
DOI 10.3390/fractalfract5040244

eCAADe 2021:
DAttE

DAtTE - Detection of Attic Extensions: Workflow to analyze the potentials of roofs in an urban environment
Talk and Proceeding: eCAADe 2021 - Towards a new, configurable architecture (Novi Sad, Serbia, 2021 | hybrid conference)
presentation (video)