Giter VIP home page Giter VIP logo

insolaris.kernel's Introduction

Insolaris.Kernel

This repository contains the geometry and model kernel for insolation calculation based on Revit API.

Math and calculus

Overview

Mathematical model of calculation method uses right circular conical approximation of sun's vector-function S(u,v)=p+vg(u) during 24 hours period. Thus, this method ignores the fact that hodograph of vector-function of sun's direction doesn't actually form an ideal circle and is in fact spiral. But 24 hours span is close enough to form a "circle" and so the approximation won't cause a significant measurement error. Thus, this method's study period is limited to 24 hours.

Cones

(1) - general cone equation where

- cone's half angle, - apex, - axis vector,

Bounding cone. Is a mathematical method to limit the sun ray hit angle on a surface point. For instance, if a ray hits a building surface point at an angle >85 degrees, then it most likely won't get inside an abstract room. The idea is to use another cone to bound the sun cone. Bounded insolation cone can be found by finding an intersection of two cones with their apex at origin O:

  1. Let BC be bounding cone with axis (l,m,n) and angle a, let IC be insolation cone with axis (i,j,k) and angle f, apex point of both is (0,0,0).
  2. Write (1) for each cone as:

     (2)

    Left part of this equation is 'conical' and right is planar with its normal vector collinear to cone's axis.

  1. If two cones at the same apex point intersect, this intersection is generally can be described with equation of two intersecting planes. This equation can be found by equalizing left part of (2) of both cones.

     (3)

But because we are only looking for positively defined half of a mathematical cone (along the axis vector) the solution is always a regular plane equation.

3D example graph can be seen in Github page of this repo.

<iframe src="https://www.geogebra.org/classic/kdk6xwfv?embed" width="1000" height="600" allowfullscreen style="border: 1px solid #e4e4e4;border-radius: 4px;" frameborder="0"></iframe>

Two-cones-intersection plane equation

- general plane equation.

To find a normal of such a plane PN(A,B,C) is to generalize equation (3).

Let:

If axis vectors of BC and IC are unit vector, then both can be simplified as:

Then:

Modulus was ignored since we're only looking for a positively defined plane along BC axis. Thus:

Or simply:

Such plane with N(A,B,C) is a bounding plane by which we can cut insolation cone.

Bounding plane

In case the context doesn't defy a bounding cone with angle (0,Pi/2) an insolation cone is still limited by a tangent plane at a given surface point, and it is a more simple subcase of bounding cone method.

insolaris.kernel's People

Contributors

kimvladislav avatar

Watchers

 avatar

Forkers

inpad-ru

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.