So, I spent the weekend refining the Android version. Obviously the smaller screen needs bigger finger-sized buttons but, for some reason, this noticeably slowed the redraw rate down. Getting rid of the bitmap backgrounds on all the buttons and panels really speeded things back up, which means that I need to look more carefully at how I apply textures to the interface elements.

Also, apparently the orange and wheat colour combination in my original version was a step too far when I showed it to my wife, so she redesigned both the colour scheme and layout for me in typically architectural black and white.

Site Analysis Applet: A tool for dynamically examining overshadowing within a complex site. You can interactively drag the point of interest (the center of the hemisphere) around the site and the overshadowing will update. You can also manipulate and reshape the surrounding obstructions which will also update the overshadowing in real-time. Use the middle and right buttons to pan and rotate the view respectively.

Run with WebStart

Launch as a separate application.

Download Application

Right-click the icon for your operating system and choose 'Save target as...'


Touch and Pointer Controls

Touch-selecting and dragging the geometry with a finger works really quite well. However, this is mainly because the blocks are relatively large - I can imagine with small and/or really complex geometry it will become much more of an issue.

I am also vacillating over how to deal with the drop down menus. When used with a mouse (as in the above examples), they act as standard menus - appearing with the first click and disappearing with the second. When a menu is up, you can use the Arrow keys and the Space bar to select multiple different items without the menu disappearing. Mouse selection or the Return/Enter key will close the menu. This option obviously isn’t available in Android.

When invoked with a surfaceTouchEvent(), the menus therefore act more like panels on the right-hand side - staying up until the button that original displayed them is toggled. This allows iterating through the different items in each menu without lots of opening and closing. However, after you know what they all do, it’s a bit painful to have to always manually close each menu after a selection. I tried a touch-drag effect - where if you touch a button, drag down to the required item and then release, the menu closes - but this isn’t at all obvious behavior. More work to do here…

OpenGL Without Bitmaps and Icons

Something else I tried was removing all of the bitmaps and icons entirely, replacing them with actual drawn icons. I’ll need to spend a bit more time refining how these actually look, but you can use the following link to view a fully OPENGL version of the sketch with no bitmaps.

Launch An OpenGL Version

Unfortunately there is a known issue with Processing applets and JOGL on Windows systems with JRE 6 update 21 or higher (Issue 429), which pretty well hits most people who keep their machines up to date. Thus the above link may or may not complain about classes not found or unsigned JAR files and then simply not run. I’ll see what I can do if I have time this next weekend.


Mark 8 June, 2011 - 09:06


I tried the Windows 64-bit version of both this applet and the new one you posted, but neither seem to work. You can double-click them, but they just don’t run. The 32-bit versions work fine on my 64-bit Windows though.

The system recognises them as a 64-bit .exe file and installs them in the right place, but they just don’t work.


Dr. Andrew Marsh 8 June, 2011 - 09:13

Hi Mark,

Hmmm - I can’t see any issues in the Processing forums about this, but I too can’t get the 64-bit to work now. There is much discussion about problems with the NVIDIA 64-bit graphics drivers so, as the downloads are all OpenGL versions, maybe that’s the problem.

I’ll look into this in more detail but, for the moment, I’ll take the 64-bit versions down and make the 32-bit the default for both. If you want a 64-bit version that runs, simply use the ‘Launch as a separate application’ link beneath the embedded applet and it should run it in 64-bit Java on your machine.

Sorry for the hassle… Andrew

stefkeB 23 May, 2011 - 09:52

Nicely done. Maybe the example seems a bit simplified, but it is well thought out and (apparently) quite deeply controllable seeing all the settings and options available.

I like the SketchUp-like approach to adjusting objects (moving objects or faces).

Click here to comment on this page.