REAL-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.
Description

The aim of this applet is to demonstrate both the interactive manipulation of a 3D model and real-time calculation of daylight distribution within a room. It started out as an experiment with ray-tracing, trying out some daylight-based optimisations I had been thinking about for a while, but soon took on a life of it’s own as I realised that the methodology didn’t really need the ray-tracing and could actually be made much faster by just applying the algorithms more efficiently.
Scream all you like about the accuracy of non-ray-traced daylight calculations, but they do have a very valid place in conceptual design - helping designers get closer to the right answer before spending time and money validating in something like Radiance or 3DS Max Design. With the kind of real-time dynamic calculations shown above, this process becomes a whole lot more visual and interactive and, arguably most importantly, educational.
In addition to just the daylight calculation, I also found that there was enough spare CPU for displaying interactive overlays as well. If you use the tabs at the top of the applet, you can overlay the frequency distribution of daylight factors over the whole room or even a visualisation of daylight factor protractor calculations for the currently selected window. Some of the overlays also include dynamic sliders that let you change room properties and see their effects update dynamically.
How it Works
I’ll revisit this section later as I have some direct comparisons of these results with those of the same room in Radiance - for a simple enclosure like this they already show a very reasonable match. But for now it’s probably worth saying that it is based on the split flux method, calculated separately for each point on the grid. This is my first implementation and I’ve optimised things a fair bit, so there are a couple of things that need revisiting to solve for more general cases. For example, internal obstructions are only currently handled quite simply and there are some issues with mouse selection and dragging in orthographic views or when zoomed right in. However, for the moment it demonstrates the concepts I was trying to show pretty well.
Display Options

You can use the VIEW button menu (F2) to change the view of the current model between perspective and orthographic projections. You can also choose some different perspective angles and fit the current view.

The OPTIONS button menu (F3) allows you to control the information overlaid on or displayed within the model. This includes the Properties Panel with sliders that you can drag to update individual parameters and see the model update dynamically. You can also change the current Properties Panel page or toggle a range of grid settings.
Comments
Victor Fuentes
I have Java problems to run these apps.How to solve this.
Georg
Very impressive processing apps. Very very interesting stuff. Did you ever consider writing ruby plugins for sketch up, giving us architects a tool to work with?
Thanks for the great work!
Georg Lorenz