designcoding
About Table of Contents Keywords Monthly Archive
Support designcoding!

Solar Position

May 6, 2012 | Algorithms
#grasshopper #parametric-surface #simulation #solar-analysis

Experimenting with various plug-ins for solar calculations, I found Daniel Da Rocha’s robust implementation of the solar position algorithm in vb.net. It calculates the solar angle of any place and time. Although it’s written in the old vb.net component, it still works great. I’m trying to create a fast and easy workflow to optimize Grasshopper models based on solar directions. This is done by projecting faces to the solar planes and checking how much of their area is included in that direction. After this check, I added a color gradient to see the results (based on the calculation of projected face area / original face area. If it’s 1.0 it means that the face is directly facing the sun at that particular time and day.) The animations below simulate the daily solar cycle of Antalya on March 16th. I’ve picked the coordinates (latitude and longitude values) from google maps.

Solar Position animation

Below is the Grasshopper file that includes Daniel Da Rocha’s sun position script with a couple of additional components to show the solar vector and calculate the face directions.

Solar Position Grasshopper definition

Edit: Somehow, it crashes Rhino if you select a planar (flat) surface as a base, be careful about that, it has to be a curved surface.

Edit: Solar position script is not working on Rhino 5 / Grasshopper 0.9.0061 anymore. Maybe I should check this out in the future.

Grasshopper definition (GHX)Download
Rhinoceros file (3DM)Download

Cite this post

Yazar, T. (2012, May 6). Solar Position. designcoding. Retrieved August 24, 2026, from https://www.designcoding.net/playing-with-solar-position/

Related Posts

Solar Analysis including Occlusion

May 31, 2012

I’ve worked a little more about the Solar Position definition I’ve started here. The definition uses Danel da Rocha’s beautiful solar position script and utilizes it with other components. It creates visual output for any given surface, divided into quads (with side faces of course) and coloring according to their orientation to the sun. This time I added an occlusion part to calculate the surface’s own shadow. Now, the solar calculation takes surfaces as obstacles and dispatches the occluded faces…

Wind Tunnel in Vasari

April 13, 2012

When I was a student, 3D modeling and rendering on the computer was an advanced skill. I only managed to create my first rendering in the 4th-year project.  Then, it became a special talent for designers, even opening a freelance business. However, that came to an end when that technology expanded, reaching everybody. Ten years ago, different ecological analysis methods on geometric designs were also another specialized field that everybody doesn’t have access to. Now it seems those technical skills…

Differential Growth

June 16, 2025

Differential growth is a process where different parts of a structure grow at different rates, leading to complex forms. After watching this, I decided to try it in Grasshopper. Here, differential growth mimics this behavior by applying rules such as Repulsion to avoid crowding or overlapping, Cohesion to keep parts connected or within a range, and Insertion to add new elements when a part stretches too far. The algorithm I present here simulates a differential growth process starting from a…

Wandering Simulator

March 9, 2024

In 1986, Craig Reynolds developed an algorithm aiming to model the flocking behavior of birds, which remains a cult method used in flock simulations today. In my initial study, the bird-oids (boids) have no rules or limitations, just chilling randomly on the screen. I call this initial version Wandering Simulator. There are several reasons why this fundamental simulation is difficult in Grasshopper and Python, our parametric design interface. In Grasshopper (data flow modeling), pushing the back doors a bit is…

Landscape Extensions Final: Digital Sketch

February 1, 2015

This is the final Grasshopper sketch of our graduate studio conducted together with Fulya Akipek at Yıldız Technical University Computational Design Unit. The project was about designing parametric “Landscape Extensions” at Kabataş Park in İstanbul. I hope I’ll be able to post the actual student works and the material system, but now; only the final result of the digital sketch we’ve developed together with students is presented here. This was a kind of “sketchy” definition that came up as an…

  • Chapters

    • Algorithms
    • Discourses
    • Fabrications
    • Studios
  • Explore

    • All Keywords
    • Table of Contents
    • Monthly Archive
    • #rhino-python
    • #polyhedra
    • #tutorial
    • #robot
    • #tessellation
    • #rhinoceros
    • #boolean
    • #kuka-prc
    • #design-object
    • #image-sampler
    • #relief
    • #terrain
    • #sandblasting
    • #stone
    • #dome
    • #parametric-curve
    • #animation
    • #art
    • #aperiodic
    • #tiling
  • Search

  • Support designcoding!

  • Enjoying designcoding? Support me on Patreon to keep it growing. Thank you!

  • copyright 2026 designcoding.net | about | privacy policy | end user license agreement