ake a modest notice about the two new Ladybug components, one of which creates a 3d terrain shading mask and another one which visualizes and exports horizon angles. A terrain shading mask is essentially a diagram which maps the silhouette of the surrounding terrain (hills, valleys, mountains, tree tops...) around the chosen location, and account for the shading losses from the terrain. It can be used as a context_ input in mountainous or higher latitude regions for any kind of sun related analysis: sunlight hours analysis, solar radiation analysis, view analysis, photovoltaics/solar water heating sunpath shading...
My home town is an example of the shading caused by the terrain. Here is how it looks from the tallest building in the town:
And the created terrain shading mask:
A mask for any land location up to 60 degrees North can be created:
There will also be a support for a few major cities above this limit.
Both Terrain shading mask and Horizon angles components can be downloaded from here. An example .gh file can be found in here.
Component will prompt the user to download and copy certain files in order to be able to run.
It was created with assistance from Dr. Bojan Savric. Support on various issues was further given by: Dr. Graham Dawson, Dr. Alec Bennett, Dr. Ulrich Deuschle, Andrew T. Young, LiMinlu, Jonathan de Ferranti, Michal Migurski, Christopher Crosby, Even Rouault, Tamas Szekeres, Izabela Spasic, Mostapha Sadeghipour Roudsari, Dragan Milenkovic, Chen Weiqing, Menno Deij-van Rijswijk and gis.stackexchange.com community.
I hope somebody might find the components useful.…
st between those two applications. But as soon as every frame is re-calculated I noticed that intersection function is very slow. It is actually so slow, that maximum number of polygons to play with is only 10 or less.
Could you help me to find a faster solution for my script?
calculation of intersection lines;
//////////////////////////////////////////////////////////////////////////////////////////
import ghpythonlib.components as ghcompimport rhinoscriptsyntax as rsdef ctr(crv): pts = ghcomp.Explode(crv)[1] pts = ghcomp.CullDuplicates(pts,0.001)[0] return ghcomp.Average(pts)pts = []lines = []ctr_c1 = ctr(C1)for crv in C2: if ctr(crv) != ctr_c1: int = ghcomp.CurveXCurve(C1, crv)[0] if int: [pts.append(x) for x in int] lines.append(rs.AddLine(int[0],int[1]))
/////////////////////////////////////////////////////////////////////////////////////////////
The overall description of the script:
a)Processing+ghowl is used for moving objects and physics
b)python script (slowest part) calculates intersection lines
c)intersected parts of polygons are rotated in 90 degrees.
I have attached grasshopper and processing files. (processing is not necessary to test the script)
Thank you in advance,
Pereas.
…
simple, there are many symetries in 3 main planes. So I used arcs rotated 45° from the main planes and I generate a pentagon which was mirrored and rotated many times.
At the end there are 24 pentagons and 8 hexagons so 32 faces, 54 points/vertex and 84 edges.
It could generate some others tessalation styles
…
starting mesh. The geometry of the lines is then modified, through the formfinding routine.
In my second vb component, I need to build an array with 4 columns. Each row represent one face of the mesh (row 0 for face 0, row1 for face 1, ...) and each column represent the number of the edge element. If ABCD is the quad face, column 0 is the number of the edge AB, column 1 is BC, column 2 is CD and column 3 is DA.
So to build this array, I extract the edges of each face with FaceB component then Explode component, and I build the array by comparing each line coming from this to each line coming from MEdges component, with a 2 level nested loop. Here is where I am looking for an efficient way to compare 2 lines...
Is there an easier and faster way to build this array ?…
similar to any other surface in your model. Just model the shadings as surfaces and then assign either translucent material or transparent material (glass) to them and connect them to runDaylight with other Honeybee objects. Is that make sense?
Make sure to use appropriate numbers for -ab, -ad and -aa. Check page 27 of Daysim tutorial for a an example for parameters (https://dl.dropboxusercontent.com/u/16228160/Daysim3.0.Tutorial.pdf). I should add that the numbers are slightly high in the example though. Here is another reference if you want to know more about RAD parameters: http://www.radiance-online.org/community/workshops/2011-berkeley-ca/presentations/day1/JM_AmbientCalculation.pdf
Mostapha
…
ace, the resulting surface does not exactly follow the curve. At the protruding edges, the surface falls out of the curve. Whereas at the edges which are going in, the surface forms is a curve of degree-1 i.e. not a smooth curve but lines.
What i want to know is, is this a normal thing in GH? when i have to print, will it print like a proper curve?
Also, at the moment, i have joined all curves together and connected it to surface component to get a surface. If there is any better way, please advise me.
I have attached the design representation and also part of my GH definition.
Any advise will be highly appreciated.
cheers
aB…