05 Jun, 2011Spherical Harmonics Shape Generator

I have recently been looking at the use of spherical harmonics as a way of doing real-time diffuse lighting and shadowing effects in OpenGL. As I usually only really understand stuff when I can see it, I did a quick viewer in Processing to help make sure I was getting all the algorithms correct. Some of the visualisations and shapes started to look pretty good, so I figured I’d polish it a bit and put it up on my site.


31 May, 2011Surface Shading - Take One

The intention of this next iteration on the theme of overshadowing was to look at surface shading on a glazing panel. Unfortunately I got a bit bogged down trying to work out interactive design rules for louvres and brise soleil so didn't get as far as I'd have liked over the long weekend. However, I did finish a basic horizontal/vertical shade example and thought I'd put it up as, even though it doesn't yet show the shading effect on the glazing surface, simply being able to drag a shading mask around seems to give some useful insight into the solar aperture and obstruction effects.


16 May, 2011Real-Time Site Analysis - For Android

The latest version of Processing makes exporting sketches directly to Android relatively easy. However, as everyone on the Processing for Android wiki keeps saying, interacting with a mobile app is very different from using a standard mouse and keyboard. My aim has always been to develop and maintain a single code base to serve all platforms, for both libraries and sketches. This update is the first of my attempts to get this happening on my Samsung Galaxy Tab, which I use for testing such things.


03 May, 2011Real-Time Site Analysis

I often find myself trying to explain the concept of shading masks - typically over the phone which is never easy. Thus I thought I'd try both demonstrating and illustrating the basic ideas in an interactive web app. In the end it turned out far better than I ever thought it would as I managed to get the required ray-tracing working in pretty much real-time. The aim is that, as you interactively manipulate the 3D model or drag the position of the dome around, you can see instantly the resulting overshadowing effects at the dome centre, thus better understanding their relationship.


30 Apr, 20113D on the Web - Back to Processing...

Finally got some time to play with Processing again. It's been a hugely busy year with work and I have literally had no time to do any of my own stuff - you can see it's more than a year since my last post on this site. But, like many people in the UK, I took vacation time either side of Easter to take advantage of the Royal Wedding and May Day bank holidays. This gave me a bit of breathing space to look at WebGL and basic app development on iPad and Android, something I'd been looking forward to for a while. However, I always keep coming back to Processing.


11 Apr, 2010Real-Time Dynamic Daylighting

Understanding the potential distribution of daylight in a room is a really key design skill. This applet lets you interactively manipulate windows in a room and see the daylight distribution recalculate and update in real-time. This really highlights the cause-and-effect relationships involved and helps develop that understanding. In addition to just showing daylighting, you can also overlay daylight factor protractors or frequency distribution data and see the effects of different surface reflectances on internally reflected light.


28 Feb, 2010Simple Parametric Modelling Experiment

This applet is an experiment with parametric modelling. The primary focus was the development of an interactive parameter class with a securely bounded range, variable precision, detailed string formatting, tweening/animation support and direct bindings to both the slider and 3D model classes. The result is a simple parametric tower model. This is relatively simple geometry, but I am really quite surprised how fast Java-based graphics can actually be, and this isn't even using OpenGL.


01 Feb, 2010Cosine Law and Surface Incidence

Surface incidence is governed by the Lambert cosine law. This states that the relative intensity of radiation or light on a surface is equal to the cosine of the angle of incidence, and that the relative area over which it is distributed is the inverse of this value. This applet provides an interactive and highly visual demonstration of this effect on both horizontal and vertical surfaces. You can interactively drag altitude and azimuth angles to see changes in both the distribution area and relative intensity of an incident energy beam. It is particularly interesting to see these effects simultaneously on both surfaces.


17 Jan, 2010Sun-Path Diagram Projection Methods

Most of the real detail in a sun-path diagram is usually around the horizon. This is where adjacent buildings, trees and other site objects provide the greatest levels of obstruction. To increase detail at these low altitudes, different sun path projection methods can be used to essentially 'squeeze' altitude angles towards the zenith and expand them around the horizon. This applet demonstrates the most common altitude projection methods and shows how they can be mapped in both sky-dome and orthographic sun-path diagrams.


10 Jan, 2010Horizontal 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.


10 Jan, 2010The 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.


04 Jan, 2010Solar Position and the 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.


01 Nov, 2009Graph - 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.


05 Aug, 2009Graph - 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 has to process a whole year's worth of hourly temperature data for San Francisco, so it can take a little while for the graph to first appear.


27 Jul, 2009Graph - Annual Temperatures (Java)

This is an experiment with the use of 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.