GithubHelp home page GithubHelp logo

ladybug-tools / ladybug-web Goto Github PK

View Code? Open in Web Editor NEW
11.0 8.0 7.0 6.52 MB

Ladybug for web provides weather data visualization and analysis on the web

Home Page: http://ladybug-tools.github.io/ladybug-web/

License: GNU General Public License v3.0

HTML 89.28% JavaScript 7.72% Mathematica 3.00%
3d solar-energy sun-position shadow-mapping three-js ladybug

ladybug-web's People

Contributors

mostapharoudsari avatar theo-armour avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ladybug-web's Issues

Status Update ~ 2016-03-14

Happi PI day

A lot of today was about cleaning up the code. But some nice things happened too. There's now a fairly easy way to get the local time at a remote location given lat, lon and UTC.

The big remaining issue is drawing analemmas correctly. No real effort was put into this issue today but the work helped clear the decks and set up the terrain for finding the problem and solving it.

The interesting question will be finding out if it is a silly error on our part or an issue with SunCalc.js

image

My entire lifetime experience with analemas is less than a week old. Going through the issues, however, is a fun challenge and a great learning experience

Analemma 2D

Features

  • 2D plot of Sun azimuth and altitude once an hour at the 21st of each month.
  • Default is lat/lon of San Francisco
  • Latitude and longitude sliders - with real-time updates
  • Buttons to display data for New York, Isfahan, San Francisco and Sydney
  • Midnight highlighted in red. Noon highlighted in green
  • Hourly data output in degrees
  • Permalink support
  • Slide-out menu support - helps with use on tablets

Latest update: 2016-03-14 /R3

  • Rename from 'Analemma Sandbox' to 'Analemma 2D'
  • Adds slide-out 'hamburger' menu
  • Code clean-up
  • Adds latitude and longitude sliders - real-time updates
  • Display and text readout calculated in degrees ( was radians )
  • Permalink support

Issues

  • Funky stuff happens when using latitude slider
    • Is this our error or a SunCalc.js error?

Analemma 3D

Features

  • 3D plot of analemmas of Sun azimuth and altitude once an hour for days 1 through 28 of each month.
  • Default latitude and longitude is San Francisco
  • Sliders update latitude and longitude of analemma in real-time
  • Displays map of location
    • Nine maps styles to choose from
  • Buttons available for selected cities
  • Midnight highlighted is red. Noon highlighted in green
  • Placards indicate the hour of each analemma
  • Permalink support
  • Slide-out menu support

Latest update: 2016-03-14 / R3

  • Code clean-up

Issues

  • Has math error: noon and midnight analemmas are not opposite each other.
    • Observe this error when viewing latitudes near Equator
  • Map not positioning correctly

Time Remote Given Lat Lon UTC

Features

  • Uses Google Maps Time Zone API to determine time zone
    • Handles day light saving time and local time zone anomalies
    • Ocean locations are timeless
  • Default latitude and longitude is San Francisco
  • Sliders update latitude and longitude and recalculates time in real-time
  • Sliders update UTC time
  • Buttons add selected cities
  • Permalinks support accepts latitude, longitude and UTC time input
  • Calculates and displays remote day and time - given UTC hours ans minutes
    • Displays universal time
    • Displays time zone and time zone ID

Latest update: 2016-03-14 / R3

  • Rename from 'Time Now Given Lat Lon]' to 'Time Remote Given Lat Lon UTC'
  • Add UTC hour and minute sliders
  • Add buttons
  • Requests Google Date only as needed and not always
  • Adds UTC date and time to permalinks
  • Improve display mechanism
  • Add remote universal time display

SunCalc Sandbox

Features

  • Built on SunCalc.js
  • Calculates and reports Sun times and position in radians and degrees
  • Calculates and reports Moon illumination, times and positions in radians and degrees
  • API that creates, updates and accepts permalinks
    • Accept date, time, latitude and longitude
  • Buttons provide data for selected cities

Latest update: 2016-03-14 / R7

  • Code clean-up
  • Display data in UTC plus in the time zone of the remote location
  • Redesign permalinks
  • Add buttons

Status Update ~ 2016-03-21 ~ 'Are we there yet?' Release

image

Most of the major requirements seem to be met and mostly working as desired. Of course still has bugs and bits to be finished.

New feature added today: yellow sun path band - but still not positioning properly.

The fun thing is that as and when things start settling down we can begin to think about adding disruptive new features - such as adding 3D building data acquired from Google Street View or 3D terrain data.

Full screen: Analemma 3D

Latest update: 2016-03-21 / R9

  • Analemmas are no longer upside down
  • Calculates analemma for every day of month - not just first 28 as in previous release
  • Add transparent yellow band to indicate full Sun path

Issues

  • Sun path band incorrectly positions itself
    • Tries to be its own algorithm - good for checking errors
    • Fall back could be to create sun path band from analemma vertices
  • Latitude and longitude sliders not working properly
  • Maps not always not updating properly when using lat/lon sliders
  • Permalink support (currently broken )

All the other bits

Status Update ~ 2016-03-18

image

Analemma 3D

A number of UI features were add today. The main new thing is accordion menus using the new HTML5 details and summary tag. Maybe this was not best use of time at the moment, but so it goes.

Tomorrow will work on displaying and real-time updating of sun position and simple shadows. Also displaying Sun times such as dawn and sunset.

Also added some links to the ladybug-web home page

Mission

  • To display one analemma for every hour of the day in 3D at any location on Earth
  • To display the position of the Sun - using azimuth and altitude - at any date and time at any location on Earth

Features

  • 3D plot of analemmas of Sun azimuth and altitude once an hour for days 1 through 28 of each month.
    • Midnight highlighted is red. Noon highlighted in green
    • Placards indicate the hour of each analemma
  • Select location
    • By latitude and longitude sliders
    • Select city from a gazetteer of over 2,000 places names
    • Default latitude and longitude is San Francisco
    • Sliders update latitude and longitude of analemma in real-time
  • Select date and time
    • Sliders for month, date, hour and minutes
  • Displays map of location
    • Check boxes to toggle map display - also grid and axis
    • Nine maps styles to choose from
    • Sliders for map zoom factor and opacity
  • Information panel
    • Display a variety of info
  • Full menu system
    • Accordion menus use HTML5 details and summary element
    • Works on all recent browsers - though still in beta on FF
    • Slide-out 'hamburger' menu support

Latest update: 2016-03-18 / R4/R5/R6

  • Mostapha's magic fixes
  • Many new UI features
  • Gazetteer

Things To Do / Road Map

Issues

  • Permalink support (currently broken )

Update ~ 2016-06-26 ~ a variety of small updates

@ladybug-analysis-tools/owners

Quite a bit of work on Analemma 3D - but just because I had worked on it yesterday. My main priority is now on the three Shadow Range OBJ scripts. Progress today was gentle and ongoing.

Opener needs a lot of cleaning up, but is getting there.

The main outstanding work is completing the read me files for each script.

Note!
In every script you can click on the 'i in a circle' info icon to jump straight to its read me file.

Another read me file to look at is:

Ladybug Web Project Explorer


Analemma 3D R16

  • Update read me
  • Add intensity of Sun light slider
  • Add auto-rotate
  • Update menu wording
  • Add auto-rotate with check box toggle
  • Sun is now bright yellow
  • Default location displays properly
  • Add turn off casting and receiving of shadows whenever the sun is below the ground plane/horizon.

Ladybug Web Shadow Range OBJ Opener R2

  • Menu mostly complete and operational

Ladybug Web Shadow Range OBJ Gallery R5

  • Improve auto-rotate behavior
  • Add to read me

Sample 3D Models for test cases

It would be a good thing to have access t several dozen different 3D model files that we can uses as test cases and for demos.

I am working on importers for Three.js JSON R3 files and also for OBJ and STL files. Next will be an effort on the up and coming GLTF format

Does anybody have access to 3D models that are nice to look at, have a good amount of 3D-ness about them, and could load reasonably quickly?

Status Update ~ 2016-03-22 ~ there's some there there

Maybe we aren't quite 'there' yet, but at least we are getting some buildings visible wherever there is. ;-)

All very R1, The Read Me in Ladybug Web Shadow Explorer has quite a bit more detail.

image

Ladybug Web Shadow Core

  • A basic engine for calculating and displaying analemmas and sun positions
  • Supports any latitude and longitude
  • Supports year, month, date, hour, minute date and time
  • Loads JSON files from a URL
  • Supports permalinks for the above plus
    • Camera position and camera target
    • Various other minor settings

image

Ladybug Web Shadow Explorer

  • Two column menu and contents display
    • Menu list files that can be displayed
  • Loads Markdown files and converts them to HTML
  • Loads JSON files using Ladybug Web Shadow Core
  • Updates sun position in real-time

For details see the Read Me in Ladybug Web Shadow Explorer

image

Full screen: Analemma 3D

Latest update: 2016-03-22 / R10

  • Add arcs for 21 of each month
  • Add a north arrow

Status Update ~ 2016-04-03 ~ Many Updates

Too much happened today to think about taking pictures. ;-)

Srarted with:
Ladybug Web Shadow Core NOAA

  • Uses new solar calculator based on NOAA Solar Calculator
  • Bib issue simplified: does not play well with current analemma code
  • Fixes will take a lot of re-thinking

So looked again at Bostock code, but the issues include

  • Unwanted external dependency on D3
  • Twenty lines of complex and opaque code
  • Gave up and decided to stay with Agafonkin's SunCalc
  • Generally differs with NOAA by a fraction of a degree - s should be OK really
  • Then
  • Had change of heart and looked into getting rid of Bostock's dependency
  • Succeeded

Bostock Solar Calculator Viewer R5

Built standalone solar calculator based on Bostock code:
Ladybug Web Solar Calculator Bostock Viewer

  • Also fiddled with and renamed the other solar calculators

Had to verify things are working as they should. Updated Calculations Compare:
Calculations Compare

  • Things look good

Let's see how things look with shadows and analemmas:

Ladybug Web Shadow Core Bostock

  • For the most part the code just slipped right in. Except:
  • Analemmas are upside down

Well, that gives us something to do tomorrow...

Status Update ~ 2016-04-09 ~ Zooming ahead

image
Urban Model 001 in JSON format


Today was one of those days where everything you do just works. So you do more and more and more. And then you realize you have added a dozen new things to the list of things to be finished. ;-)

It's all beginning to look OK, but there are still a bunch of minor irritations and flakiness.

With a bit of luck, the next few days should see these being cleared up along with a bunch of models - in JSON and OBJ format - so you can test and get a feel for what is going on/


Ladybug Web Shadow Core Bostock

  • Add send messages to parent
  • Add toglle placeMap visibility
  • Set default file to urban model 001
  • Improve ability to load files
    • Add cast and receive shadows
    • Add two sides
  • Add Edges Helpers to R4 files
  • Other bits and bobs

Ladybug Web Shadow Explorer Bostock JSON

  • Add link to Shadow Opener to every menu item
  • Add messaging from core
  • Big revision is in the works elsewhere

Ladybug Web Shadow Opener Bostock JSON

  • R3
  • Fix Toggle Ground Plane typo. Thanks Mostapha!
  • Tighten up menu
  • Add sliding 'hamburger' menu
  • Remove ability to read Markdown files
  • Remove unused 75+ limes of unused code
  • Add location.hash capability
  • Add Toggle Analemma
  • Add Sun light slider
  • Add messaging from core
  • Set default file to whatever core wants
  • Disable zoom if not top window
  • And a bunch of other bits and bobs

Also added to the new 3d-models repo a JSON version of Urban Model 001 that is in OBJ format

Update ~ 2016-06-07 ~ Shadow Range OBJ Opener R1 & More

image
Silly things you can to with Ladybug WebShadow Range OBJ Opener

@ladybug-analysis-tools/owners @ayezioro

The shadow range files have been up for a week. Anybody had a look?

If you have not, then start with Gallery.

Core is quite stable - but there's not much to interact with - since it's just the 'engine' that other scripts can use. Opener is still a bit flaky - too sensitive when you try to update position and rotation parameters. Also still missing a bunch of parameters that Gallery has.

The WebGL crashes I will be working on so no need to mention these. When there is a WebGL crash all you need to do is refresh the page. Nothing is harmed in the process - except my pride.

There's still much to be done on the documentation. Have a look at Ladybug Web Analemma 3D Read Me to see where things are going.

What I would like to hear about includes where you think the user experience is failing and what might be done to make these scripts usable in a practice.

See also the previous update for more thoughts #29


Ladybug Web Shadow OBJ Core

  • The 'engine' that does all the Three.js

Ladybug Web Shadow Range OBJ Opener

  • The editor

Ladybug Web Shadow Range OBJ Gallery

  • The viewer

Recent updates

  • Tweak code and fix errors
  • Update read me files to include images and iframes

Status Update ~ 2016-03-30

image

This is a work in progress. Although nearly ready to apply to the apps we have, I want to verify that the numbers produced closely follow the NOAA script.

Full screen viewer: Ladybug Web Solar Calculator Viewer

JavaScript source code: Ladybug Web Solar Calculator R2

Ladybug Web Solar Calculator Read Me

Ladybug seeks accurate, fast and verifiable sources for its solar calculations.

We have looked at the efforts of:

We have found issues with each one of these valiant efforts. Therefore we propose a new effort that stands on their shoulders.

Mission

  • To provide you with the position of the Sun - the azimuth ( apparent longitude ) and altitude ( apparent latitude ) - quickly and easily
    • Given latitude, longitude, data and time
    • Usable in any number of ways
  • Code that is readable by people with little programming experience
  • Code that is readable by people with little astronomy experience
  • Code that is readable by people with little experience of Euler notation
  • Code that is auditable and verifiable and explains and links to its sources
  • Provide small, tight, fast readable code
    • With no outside dependencies
  • Viewer that displays output from all functions
    • Allows you to set location, date and time
  • Documentation that helps you find further information

Update ~ 2016-05-17 ~ Analemma 3D R12

image


Also minor work to:
https://ladybug-analysis-tools.github.io/ladybug-web/solar-calculator-ladybug-web/

All this is in effort to get the big effort - the Shadow Range effort - up to speed on the latest and best solar calculators


Analemma 3D R12

2016-05-17 / R12

  • Using Ladybug Web Solar Calculator
    • Replaces Agafonkib calculator as used in previous releases
    • Work in progress
    • Works OK in NW lats/lons only
  • Sun band positioning is improving
  • Minor code clean-up

Issues

  • Analemmas only drawn correctly in NW lat/lons
  • Typing in lat amd lon in input boxes is broken
  • Sun path band incorrectly positions itself
    • Tries to be its own algorithm - good for checking errors
    • Fall back could be to create sun path band from analemma vertices
  • Permalink support (currently broken )

Status Update ~ 2016-03-20

image
R8 showing camera shadow box

We're getting there, but there's still several things left to fix. Perhaps in another day or two we can start adding your buildings.

Analemma 3D

Latest update: 2016-03-20 / R8

  • Code clean-up and updates to many variable names
    • Always room from improvement
    • Now mostly based on init, set and get paradigm
  • Analemma and sun position logic mostly - but not all - OK
  • Improve action of date sliders
  • Fixed updates time zone data always updating - even if no lat/lon changes
  • Light shadow box included just for debug - zoom out to see it all

Issues

  • Errors in logic
    • Analemmas are upside down
  • Latitude and longitude sliders not working properly
  • Maps not always not updating properly when using lat/lon sliders
  • Permalink support (currently broken )

Update ~ 2016-05-31 ~ Sunny days are here

image

@ladybug-analysis-tools/owners @ayezioro

The Shadow Range scripts seem to be working. The Core and Gallery scripts are functional. The Opener (editor) is a work in progress.

It took a lot longer than I thought it would. And I should pay with it a few more days playing around and tweaking before thinking about announcing things.

And I will have a good number of questions about to how to begin to make the whole process usable and useful.

Do note that each sun is represented by a 3D box or frustum - helps with debugging. Do you have any good ideas what should be there instead?

Feel free to play around. Things may free or be slow. Don't be afraid to reload and start over.

Also you can start to look here to see all the scripts:

Ladybug Web Project Explorer


Ladybug Web Shadow Range OBJ Gallery

2016-05-31

  • Final cleanup before write up
  • Add dates to all models

Update ~ 2016-05-23 ~ Three Shadow Scripts Progressing

image

@ladybug-analysis-tools/owners @ayezioro

Work on the three scripts to view and edit shadows on OBJ files at any set time and latitude and longitude is progressing well.

Soon it may be time to start thinking about the documentation or creating a video to show people how it all works.

The code is beginning to settle down. And may be time to start thinking about extracting the JavaScript from the .HTML files and turning it into standalone .JS files.

Ladybug Web Shadow OBJ Gallery

  • View the results

Ladybug Web Shadow OBJ Opener

  • Edit and set viewing parameters
  • Creates the permalinks

Ladybug Web Shadow OBJ Core

  • The core that can be embedded or linked to from anywhere
  • Accepts a variety of parameters

Status Update ~ 2016-04-04 ~ Many more updates

Nothing much worth taking a photo of, but a productive day nonetheless.

Besides the files noted below, many of the files in their restive cohorts were also updated

And in other parts of the forest, efforts were made to streamlining the process of bringing in JSON and OBJ files


Ladybug Web Shadow Core Bostock R2

  • Add Ladybug Web Shadow Core Bostock R2
  • Analemmas no longer upside down
  • Code and variable name logic clean-up
  • Add slide-out hamburger menu
  • Add Sun position read-out to menus of all core apps
    • Finding issues with all of them. So it goes

Ladybug Web Shadow Explorer Bostock JSON R1

  • Add ladybug-web-shadow-explorer-bostock-json-r1.html
  • Adds sun and position read out
  • Code cleanup and multiple small fixes

Ladybug Web Shadow Opener Bostock JSON

  • Add Ladybug Web Shadow Opener Bostock JSON R1
  • Many small fixes

Update ~ 2016-07-09 ~ Analemma 3D R17

image

@ladybug-analysis-tools/owners @ayezioro
@paulmasson @geoffmcl @Art @3dmashup @alavit-d @hunvreus @GMelencio @jeremytammik

Quite a few nice though not huge changes.

When 3D terrain work elsewhere calms down, the earth should shift a bit here!

For more sunshine-related work scroll down this page: Ladybug Web Project Explorer

Change Log

2016-07-09 ~ R17

  • Move location to above lat & lon
  • Edit error messages
  • Add degree symbols where appropriate
  • Indicate azimuth and altitude of sun in current position
    • Error in numbers as displayed: to be fixed
  • All map types now display properly
    • Open Street Maps - and other maps - were not showing because of HTTPS issues
  • Add display of current map source and copyright notice to lower right corner
  • Fix toggle display on gnomen
  • WIP: Permalink support started << 2016-06-26 ~ Mostapha wants!
    • There are a number of links in the read me to try
  • Add pop up message to encourage clicking the info icon

2016-07-06 ~ R16.3

  • Add Stonhenge
  • Add gnomen
  • Add toggle display of 3D objects
  • Set initial position of sun to 149,597,870,700 meters away from earth ( 1 astronomical unit)
  • Update title panel
  • Make hamburger more visible

Using the GitHub API to create an organization dashboard

image

Hi Team Ladybug

I have started playing around with the GitHub API

Ladybug GitHub API Explorer

The read me that appears when you open the link explains a lot.

I am thinking of some kind of dashboard that would be useful as the Ladybug GitHub home page.

If this work is of interest, then I should move the folder to the main github.io repo and continue the effort from there.

Theo

Where do we go from here?

@mostaphaRoudsari

I don't think Ladybug Web scripts are yet ready for wide dissemination, but it would be great if we could find one or two people that would be willing to try things out with some real projects.

Do you think the Ladybug Web things are kind of ready for demos or for looking at by peeps?

Status Update ~ 2016-03-25 ~ Multiple Lights

image

Today's effort concerns generating a 'sun range' or Sun positions for a time-range - say 21 Dec, 9 to 5 pm.

There are several possible methods for creating such an effect. You can edit the colors of vertices in a mesh. Or Three.js has a new tool call Shadow mesh

Both these methods will be worth investigating. But first we thought to try the simplest method which is to add ten lights to a scene and see what happens.

The link below to Multiple Lights goes to the first experiment with this method. Although not perfect - as the screen capture above indicates, the multiple lights method seems a good place to start. And its great advantage is that its use will be quite familiar even to those with only a limited amount of Three.js experience.


Multiple Lights

Features

  • Display the shadows for ten hourly Sun positions.
  • Update the latitude via a slider
  • Reference objects are generated randomly at load time
  • Zoom out to see all the directional light frustums
  • Still contains errors in Sun position logic
    • Note that times are UTC

Ladybog Analysis Tools Home Page

Currently the main link goes to a 404 error:

https://ladybug-analysis-tools.github.io

I would be happy to set up a simple home page here.

Either somebody can:

  • Create a repo titled - exactly: 'ladybug-analysis-tools.github.io' and give me access

Or

  • Give me authority to create repos

Once the repo is set up, it would be nice to have access to the Ladybug images there so we can add these to web pages and add favicons.

No hurry, Whenever is OK.

Theo

Status Update ~ 2016-04-02 ~ Calculations Compare R3

image


I feel fairly comfortable with Ladybug Web Solar Calculator JavaScript 'engine'. It's built on to of the NOAA code and appears to preserve all the accurate results of the NOAA code. Nonetheless there remain many opportunities for continuing the process of streamlining the code, making is faster and - the most important - making it easier to read.

The main thing is that the engine looks ready to replace the SunCalc.js routines that we have been using. The next step will be to try it out in Ladybug Web Shadow Core.


Calculations Compare Read Me

full screen: Calculations Compare R3

Update 2016-04-02

  • R3
  • Adds Ladybug Web Solar Calculator
  • All sun positions in agreement - allowing for accuracy differences - in all four calculators.

Also minor updates to Ladybug Web Solar Calculator Viewer R3 as well as to most of the solar calculator sand-boxes. Also quite a few links have been added to the various read me files.

Status Update ~ 2016-04-07 ~ Bingo! with cherries on top

image
Three.js JSON R3 with textures

image
Three.js JSON R4 ~ having issues with shadows


So it's fairly much all working. You can load models locally from your hard disk or online from the web - adjust position, scale and rotation. you can adjust camera location and target. You can set location, date and time and - tada - you can see where the sun is and see the shade and shadow on your buildings. You can save - and test - all your efforts as a permalink that you can send to your colleagues and clients. And the code remains fairly easy, concise and performant.

The primary challenges are met.

That's not to say that it's ready to 'ship'. The UI is ugly and there remain a number of minor issues to be dealt with.

The drag and drop to load local files is still tricky - and its operation will be explained at a later date.

The sun is beginning to shine...


full screen Ladybug Web Shadow Opener Bostock JSON R2

2016-04-07

  • Add R2
  • Add drag-and-drop URL

Full screen: Ladybug Web Shadow Core Bostock R3

  • Add R3
  • Add support for all the Three.js JSON standards
  • Fix scaling issues

2016-07-13 ~ Analemma 3D R18 'What time is it, Ben?'

@ladybug-analysis-tools/owners @Art

Thank you, Art, for the fun suggestion.

Analemma 3D is now a working virtual sun dial!

You will note this because the minute slider bar updates every minute and the Big Ben chimes are played every quarter hour (only when the tab is visible though).

So this kicks off many thoughts on what: should the clock of the future show or tell you?

Analemma 3D

* Change Log 2016-07-13 ~ R18

  • Adds update the time every minute
  • Add play appropriate Westminster chime on the quarter hour
    • No hourly bongs yet
    • No way to turn off sound yet
      • Will only update if tab is visible

Status Update ~ 2016-03-19

image

Hi Team Ladybug

We have sunshine! And shade and shadows. All move in analemmic patterns when you use the time sliders.

There are, however, still a number of errors in logic. And, even though there was a big code cleanup and updating of variable names today, the new additions brought in their own bugaboos. With a bit of luck some of these will be cleaned up in the revision in the next day or so. Otherwise I might ask for some help. Revision details are provided below

Theo

Analemma 3D

Mission

  • To display one analemma for every hour of the day in 3D at any location on Earth
  • To display the position of the Sun - using azimuth and altitude - at any date and time at any location on Earth

Features

  • 3D plot of analemmas of Sun azimuth and altitude once an hour for days 1 through 28 of each month.
    • Midnight highlighted is red. Noon highlighted in green
    • Placards indicate the hour of each analemma
    • Displays current position of sun
    • Displays shadow and shade
    • Reference object to indicate shade and shadow coverage
  • Select location
    • By latitude and longitude sliders
    • Select city from a gazetteer of over 2,000 places names
    • Default latitude and longitude is selected randomly from the gazetteer
    • Sliders update latitude and longitude of analemma in real-time
  • Select date and time
    • Sliders for month, date, hour and minutes
    • Update Sun position and shadows in real-time
  • Displays map of location
    • Check boxes to toggle map display - also grid and axis
    • Nine maps styles to choose from
    • Sliders for map zoom factor and opacity
  • Information panel
    • Displays a variety of information including
    • Latitude and longitude
    • Local and UTC time
    • Time zone name, id and offset in hours
  • Full menu system
    • Accordion menus use HTML5 details and summary element
    • Works on all recent browsers - though still in beta on FF
    • Slide-out 'hamburger' menu support

Latest update: 2016-03-19 / R7

  • Code clean-up and updates to many variable names
    • Making variable names more meaningful and consistent
  • Add Sun mesh and direction light
    • Positions update with each slider movement
  • Add shadows and shade
  • Add trylon and and perisphere reference/demo objects
  • Add more time-updating capabilities
  • Random location at load time

Things To Do / Road Map

  • Text input for lat and lon
  • Replace/Upgrade SunCalc.js with NOAA/Bostock JavaScript
  • Translucent ring to indicate full Sun path
  • Animations
  • Add solar times readout - with buttons to display sun position for location, date and time
  • Add access to geolocation - as in Google Developers Geolocation API
  • Add access to places autocomplete = as in Google Maps JavaScript API Place Autocomplete
  • Open Street gazetteer

Goals

Issues

  • Errors in logic
    • Sun high at poles, low at equator
    • Times reversed below equator
    • Analemmas upside down
  • Updates time zone data always - even if no lat/lon change
  • Not all sliders working properly
  • Maps not updating properly when using sliders
  • Permalink support (currently broken )

Update ~ 2017-07-20 ~ 3D Mapping

@ladybug-tools/core

image

3D terrain mesh with 2D tile overlay and buildings in 3D: all in one file.

Yes, the buildings are floating but they should be grounded very soon - with sun ranges and solar access soon after that.

And, of course available for any lat and lon and any date and time.

Status Update ~ 2016-03-24

image

'Core' is the engine. 'Explorer' is the gallery. Needed next is the script to create permalinks to go into galleries and that is 'Opener'.

Ladybug Web Shadow Opener

  • Helps you create the 'permalinks' that can be used by Ladybug Web Shadow Explorer and other apps
  • Displays JSON model, analemmas and sun
  • Accepts
    • Model URL
    • Latitude and longitude
    • Date and time
    • Model position, rotation and scale
    • Camera position and target

First commit: 2016-03-24 / R1

Usage

  • Paste in a URL to a JSON 3 file
  • Make your changes
  • Press 'Update' button
  • To see test result, press 'Open in new tab'

Ladybug Web Shadow Core

Latest update: 2016-03-24 / R2

  • Code clean-up and streamlining variable names
  • added 'ms' parameter for multiplyScalar
  • Menu only displays if not in iframe
  • Date and time set from local date and time - previously was set by defaults
  • Info display parameters now show lat, lon, date and time

Ladybug Web Shadow Explorer

Latest Update: 2016-03-22 / R2

  • Code clean-up

Update ~ 2016-06-25 ~ Ladybug Web Shadow Range OBJ Core R4

image

@ladybug-analysis-tools/owners @ayezioro

Core is finally getting down to bug-fixes, minor tweaks and filling in the read me file. Yay!

Ladybug Web Shadow Range OBJ Core R4

Change Log

Note that Ladybug Web Shadow Range OBJ Opener and
Ladybug Web Shadow Range OBJ Gallery are automatically updated
as a well since they rely on core for all Three.js operations.

2016-06-25 ~ R3.2 / R4

  • Lights add and remove as expected
  • Add time time data to global parameters object
  • Sun is no longer shaded
  • Source code displays properly in read me

Update ~ 2016-06-03 ~ Analemma 3D ~ Beautifying the Read Me ~

image

@ladybug-analysis-tools/owners @ayezioro

Creating and displaying in 3D something such as an analemma is complicated.

Our mission is to make the process so accessible that you - as an engineer or designer - can create apps to meet your own needs.

This usability requires good illustrations and accessible documentation.

The updated material in the 'Analemma 3D Read Me' suggests possible directions

Note: by clicking the button at the top of the page you can switch between 'home page' view and 'source code' view.

You will note that the same Markdown source code is used to generate both views.

'Home page' view is good when you want to go from page to page seeing what is available.

'Source code' view is good when you want to investigate how scripts are created.


Analemma 3D Read Me

  • Add much to this read me
  • Add Iframe/image of the script
  • Add source code view of the script

Update ~ 2016-05-01 ~ Analemma 3D R11

image


@ladybug-analysis-tools/collaborators

My work on 3D Models still not finished, but just had to come into the sunlight for a bit. ;-)

I've been exploring the Google Maps API and have learned many new things.

Starting with Analemma 3D, I'm adding geolocation, geoencoding and reverse geoencoding.

What this means is that when you open the app, it displays the analemmas for the current location of the computer.

To change location, just start typing an address. Suggestions for auto-completion will appear. Choose one, press enter and, bingo, you are there and so are your analemmas.


Analemma 3D R11

  • Add geolocation
  • Add geoencoding
  • Add reverse geoencoding
  • Remove gazetteer

Analemma 3D R2

Analemma 3D

Latest update: 2016-03-13 / R2

Features

  • 3D plot of Sun azimuth and altitude once an hour for days 1 through 28 of each month.
  • Default latitude and longitude is San Francisco
  • Sliders update latitude and longitude of analemma in realtime
  • Displays map of location
    • Nine maps styles to choose from
  • Buttons available for selected cities
  • Midnight highlighted is red. Noon highlighted in green
  • Placards indicate the hour of each analemma
  • Permalink support

Issues

  • Has math error: noon and midnight analemmas are not opposite each other.
    • Observe this error when viewing latitudes near Equator
  • Map not positioning correctly

Also Read Me updated and a few more links of interest added

Update ~ 2016-06-25 ~ Analemma 3D R15

image

@ladybug-analysis-tools/owners @ayezioro

@Art: Thanks for the tip on coloring the vertices to indicate the month.
This helps you to see that the apparent velocity of the sun varies greatly during the year.

Analemma 3D R15

Change Log

  • Analemma line colors by vertex to indicate month
  • Placard colors indicate noon and midnight
  • Correct display of source code

Status Update ~ 2016-04-05 ~ Nothing Here? Heh heh heh...

image

Yup no commits to Ladybug Web today.

All the days efforts were devoted to here:

Loader Three.js R1

Read Me

This script allows you to drag and drop or use the operating system file dialog box to load and display 21 file types.

Loaded files can be zoomed, panned and rotated. The models may be scaled, rotated and positioned.

A simple lighting system add shade and shadows. Some models are zoomed to fit automatically.

And there's more on the way.

If I remember correctly, some of us spent two and a half days a while back - trying to build a 3D model file viewer. Compare and contrast with this one person 8 hour effort.

No don't. Wait until the next release when it's part of Ladybug Web.

Update ~ 2017-07-31 ~ Ladybug Web Analemma 3D R3

@ladybug-tools/core

image
Screenshot of Analemma 3D displaying Solar Access for downtown San Francisco

Analemma 3D R3

Mapping, calculations and user interface have all had major upgrades. Some feedback would be greatly appreciated.

Mission

  • 3D terrain, 2D raster maps and 3D structures all visible and manipulable in in a single app
  • Easy peasy, free open source entry level code
  • Simple dependencies
    • Three.js for 3D
    • ShowDown for Markdown Conversion
    • Mapbox for the data tiles
  • Basic code is under 900 lines / 23KB
  • User interface and technical code well separated
  • Carry out simple Sun-related coding exercises

Features

  • 3D terrain for the entire Globe
  • Support for 19 levels of zoom
  • 3D buildings at zoom levels 15 and 16
  • Many raster map overlays from Mapbox, Google, OSM etc
  • Go to any location on Earth by entering a place name or address
  • Display a variety of Solar parameters analemmas, solar range and solar access
  • Access on tablets and mobile devices

Update ~ 2016-05-06 ~ Current Status

##@ladybug-analysis-tools/owners

Hi Team Ladybug

This weekend I am traveling to San Luis Obispo to visit my youngest daughter. So instead of coding, today is about cleaning up my desk and thinking about where we are going.

Designing an End-User Workflow

Between the scripts in the Ladybug Web and 3D Models repositories, there are the beginnings of an extensive bag of tools. But like any bag of tools there are tools that will never ever be used again and tools that will be used everyday, tools to help programmers and tools to help designers, and so on.

If the tool set is to actually become useful then we need to create a successful work flow that allows you to:

  • Open or link to a 3D model
  • Adjust parameters including
    • Latitude and longitude
    • Camera position and target
    • Model scale, position and rotation
    • Other parameters
  • View the Sun position at any date and time
  • View the shadow path for June 21 and December 21 - and any day in between
  • Save the model and parameters somewhere so that there is a URL
  • Share the link with clients and colleagues
    • And/or embed the linked to project in a report or web page

Next week - and along with any input - I will get a document like this on Ladybug Web and it can also be the beginning of the documentation.

Questions

If we are to achieve a good workflow then a number of issues must be dealt with. So let me start with a few questions:

  1. Is there a technical name of names for this full-day shadow path diagram I am still working on?
  2. I assume the initial group of end-users will be existing Rhino/Grasshopper users. It is essential that the process of going from Rhino/Grasshopper files to files suitable for our work be as painless and as streamlined as possible. (The files that I have received so far have many issues.) Where can I find details and source code for Rhine/Grasshopper file exporters?
  3. If we expect user to be able to share visualizations with clients and colleagues then the files must be available online. How do we anticipate end-users getting their files online and what cloud services do we expect users to be using to store files?

bye for now,

Theo

Update ~ 2016-06-16 ~ Ladybug Web Shadow Range OBJ Core R3

image

@ladybug-analysis-tools/owners @ayezioro

Addresses Moustapha's comment in #29 and beginning to look pretty

Ladybug Web Shadow Range OBJ Core R3

Change Log

  • Update read me with permalink/location hash parameters
  • Fix display of sun positions in menu
  • Add to and edit location hash parameters
    • Add set number of minutes between sun positions
      • Addresses Moustapha's comment in #29
    • Add toggle helpers
    • Add toggle placards
  • Add display of yellow spheres as suns
  • Add placards above tee suns with time display

Note that Ladybug Web Shadow Range OBJ Opener and Ladybug Web Shadow Range OBJ Gallery are automatically updated as a well since they rely on core for all Three.js operations.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.