Welcome to the personal website of Dr. Andrew Marsh ...
This site is basically my online notebook, containing an eclectic mix of ideas, discussions and experiments in building performance analysis, generative design, computer programming, data visualisation and web development - all organised under the following two primary themes:
Performative Design... Informative Design...

Horizontal and Vertical Shadow Angles

Open /scripts/educational/horizontal-and-vertical-shadow-angles

Horizontal and Vertical Shadow Angles (HSA & VSA) are very important when dealing with the design of shading devices. As opposed to solar azimuth and altitude angles, shadow angles are always taken relative to a particular surface. This applet presents a visual illustration of the complex relationship between location, solar position, orientation, tilt and shadow angle. Interactively changing the date, time and location is the key to developing a visual understanding of this fundamental shading design concept.

The Earth-Sun Relationship

Open /scripts/educational/earth-sun-relationship

This applet demonstrates the geometric relationship between the Earth and the Sun, showing the resulting illumination pattern at any time of the day and year for any location. All factors such as declination and the equation of time are fully considered and accurately modelled. It allows you to overlay information such as annual sun paths, important latitude/longitude lines and world time zones. You can rotate around the Earth in any direction or lock into a geo-stationary or view-from-sun perspective. Both annual and daily solar cycles can also be animated to better appreciate subtle effects.

Solar Position and the Sun-Path

Open /scripts/educational/solar-position-and-sun-path

Sun-Path Diagrams are a way of modelling and visualising the path of the Sun through the sky at a specific geographic location. With a little interactivity and a small element of play, such diagrams can significantly contribute to our understanding of how the Sun is likely to interact with a building - a concept crucial to the effective design of shading systems. This applet presents just such a Sun-Path diagram, allowing you to interactively change date, time and location as well as viewing it in a range of different ways.

Interactive 3D in a Web Page

This page discusses the results of my experiments with Processing over the Christmas break. What is interesting about Processing is that it allows you to create fully interactive 3D applets embedded in a standard web page on any platform. For visualising and playing around with complex concepts, this offers something far more exciting than even Adobe Flash.

Graph - Robustness Calculator

Open /scripts/data-visualisation/graph-robustness-calculator

A significant problem in the performance analysis of buildings is trying to understand hugely complex data sets that often results from the investigative process. These types of analysis are usually focused on the potential effect of different design parameters on the performance criteria we are designing to meet. The type of graph described here provides a simple means of interactively investigating and visualising complex relationships that may exist within a large number of calculation runs.

Workshop: Mastering Performative Design with Ecotect

I will be presenting a research workshop at the ACADIA 2009 conference in Chicago on the 20th-21st of October 2009, to be held at the School of the Art Institute of Chicago (SAIC). The aim of this workshop is explore the boundaries of generative and performative design using Autodesk Ecotect Analysis, Green Building Studio and Revit.

Master Class: BIM & Building Performance Analysis

I will be presenting a master class at the Design Modelling Symposium in Berlin on the 5th-8th of October, 2009 at the Universität der Künste. This will cover the use of BIM data for a range of different types of performance analysis and the best ways to convert and transfer what you need.

Stung by Drupal's Filter Caching, Again

When will I ever learn? I just lost another few hours of my life because - again - I didn't properly understand Drupal's filter cache system.

Hacking the 'Read more' Link in Drupal

| Tags and categories.

When displaying a list of node teasers, Drupal includes a 'Read more' item within a list of links at the bottom of each node. Other items in this list include links for adding comments, the number of page reads and other node-specific actions. For users not familiar with Drupal, this link can be easily missed, making it not particularly obvious that there is more information available.

Graph - Annual Temperatures (Google Charts)

Open /scripts/data-visualisation/graph-annual-temperatures-google

The graph is one of my experiments with Google's Visualisation API as a possible means of interactive web-based data presentation. It's an implementation of an annotated time line graph that Google originally developed for showing stock exchange data - used here to show annual hourly air temperature values. It contains a whole year worth of hourly temperature data for San Francisco, so it can take a little while for the graph to appear.

Graph - Annual Temperatures (Java)

Open /scripts/data-visualisation/graph-annual-temperatures-java

This graph is an experiment with the use Java applets to provide highly interactive charts and graphs embedded within a web page. It is just an example so the data it shows is not hugely meaningful - in this case a set of annual hourly air temperature values. However, it is an opportunity to play with my primitive attempt at an interactive and intuitive date range control. This control sits at the bottom of the chart and provides a means for selecting a date range for the values shown.

Embedding Java Applets in a Web Page

I have recently been experimenting with dynamically embedding Java applets within pages served by content management systems (CMS). As the <applet> and <embed> tags are depreciated and not XHTML standard compliant or supported by all browsers, that just leaves the <object> tag. This is fine, but even with this there are some serious inconsistencies between browser implementations - especially the Internet Explorer and the Mozilla/Gecko engines. This example shows how this can be solved fairly easily with some PHP in Drupal.

Browser Detection Methods

Whilst there may be many reasons for wanting to know which browser your web page is being viewed within, the main one I find is needing to tweak some CSS or embedded applet code to accommodate certain rendering inconsistencies. At first glance, this seems pretty easy with dynamically-generated pages as most server-side programming or scripting languages provide a way of doing this as the page is being assembled for delivery. However, for both static web pages and content that is likely to be cached by a content management system (CMS) it isn't so easy. This article therefore considers a range of available browser detection methods.

BS2009 Workshop: BIM & Building Performance Analysis

I will be presenting a 1-day workshop at the Building Simulation 2009 in Glasgow on Friday the 31st of July, 2009. This will cover the use of BIM data for a range of different types of performance analysis and the best ways to convert and transfer what you need.