Cross Fractal

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

code

///////////////////////////////////
// CROSS FRACTAL //////////////////
/* recursive */

function cross(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 == 1 && k == 2 ) ||
             ( i == 1 && j == 2 && k == 2 ) ||
             ( i == 2 && j == 2 && k == 2 ) ||
             ( i == 3 && j == 2 && k == 2 ) ||
             ( i == 2 && j == 2 && k == 1 ) ||
             ( i == 2 && j == 2 && k == 3 ) ||
             ( i == 2 && j == 3 && k == 2 ) ) {
          if (iteration < maxIterations) {
            cross((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, iteration, maxIterations);
          }
        }
      }
    }
  }
}
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 );
}

Urban Transformation Between Built and NaturalSystems by Means of an Adapted Wave FunctionCollapse Approach

Journal Paper In JoDLA –  Journal of Digital Landscape Architecture (e-ISSN 2511-624X)

In practice, urban transformation is often carried out at the outskirts or in between existing areas of a city. In that context, important questions are: How can one imagine a transition between different urban structures? ...

Healthcare and Wellbeing

Presentation: at the School of Environment and Society, Institute of Science Tokyo, Japan

This presentation explores process-driven approaches to healthcare design through early-stage functional planning and agent-based simulation. ...

Urban Data

Presentation: at the School of Environment and Society, Institute of Science Tokyo, Japan

This presentation explores how municipal data provided by the City of Vienna can be used to support urban analysis, planning, and decision-making. ...

eCAADe 2025:
Artificially Interactive Individualized Genetic Algorithms (AIIGA) for Gestalt Analysis

Evolutionary algorithms enhanced with sAI in architectural design
Talk and Proceeding: eCAADe 2025 – Confluence (Ankara, Turkey | conference)

This research is concerned with the automation of the user interventional aspect within interactive genetic algorithms (IGA) as already explored in previous publications by the authors considering their use for Gestalt analyses and generative design optimization. ...

Interview with Wolfgang E. Lorenz

in: DAP / Re:Search_2020.2025
S. 244 - 257, Research Department for Digital Architecture and Planning, TU Wien (Publisher)

Interview with Wolfgang E. Lorenz on research, teaching, and practice, especially over the last 5 years

DGC, Lissabon 2025

4th Digital Geographies Conference 2025

Artificial geographies: opening the black box for a new wave of critical thinking.
Predicting Material Composition of Walls and Floors using Machine Learning...