t defined from the discussion of radiation exchange between urban surfaces and the sky in urban heat island research (See Oke's literature list below). It will be affected by the proportion of sky visible from a given calculation point on a surface (vertical or horizontal) as a result of the obstruction of urban geometry, but it is not entirely associated with the solid angle subtended by the visible sky patch/patches.
So, I think using "geometry way" to approximate Sky View Factor is not correct. Sky View Factor calculation shall be based on the first principle defining the concept: radiation exchange between urban surface and sky hemisphere:
(image extracted from Johnson, G. T., & Watson, 1984)
Therefore, I always refer to the following "theoretical" Sky View Factors calculated at the centre of an infinitely long street canyon with different Height-to-width ratios in Oke's original paper (1981) as the ultimate benchmark to validate different methods to calculate SVF:
So, I agree with Compagnon (2004) on the method he used to calculate SVF: a simple radiation (or illuminance) simulation using a uniform sky.
The following images are the results of the workflow I built in the procedural modeling software Houdini (using its python library) according to this principle by calling Radiance to do the simulation and calculation, and the SVF values calculated for different canyon H/W ratios (shown at the bottom of each image) are very close to the values shown in Oke's paper.
H/W=0.25, SVF=0.895
H/W=1, SVF=0.447
H/W=2, SVF=0.246
It seems that the Sky View Factor calculated from the viewAnalysis component in Ladybug is not aligned with Oke's result for a given H/W ration: (GH file attached)
According to the definition shown in this component, I assume the value calculated is the percentage of visible sky which is a geometric calculation (shooting evenly distributed rays from sensor point to the sky and calculate the ratio of rays not blocked by urban geometry?), i.e solid angle subtended by visible sky patches, and it is not aligned with the original radiation exchange definition of Sky View Factor.
I'd suggest to call this geometrically calculated ratio of visible sky "Sky Exposure Factor" which is "true" to its definition and way of calculation (see the paper on Sky Exposure Factor below) so as to avoid confusion with "The Sky View Factor based on radiation exchange" as discussed in urban climate literature.
Appreciate your comments and advice!
References:
SVF: definition based on first principle
Oke, T. R. (1981). Canyon geometry and the nocturnal urban heat island: comparison of scale model and field observations. Journal of Climatology, 1(3), 237-254.
Oke, T. R. (1987). Boundary layer climates (2nd ed.). London ; New York: Methuen.
Johnson, G. T., & Watson, I. D. (1984). The Determination of View-Factors in Urban Canyons. Journal of American Meteorological Society, 23, 329-335.
Watson, I. D., & Johnson, G. T. (1987). Graphical estimation of sky view-factors in urban environments. INTERNATIONAL JOURNAL OF CLIMATOLOGY, 7(2), 193-197. doi: 10.1002/joc.3370070210
Papers on SVF calculation:
Brown, M. J., Grimmond, S., & Ratti, C. (2001). Comparison of Methodologies for Computing Sky View Factor in Urban Environments. Los Alamos, New Mexico, USA: Los Alamos National Laboratory.
SVF calculation based on first principle:
Compagnon, R. (2004). Solar and daylight availability in the urban fabric. Energy and Buildings, 36(4), 321-328.
paper on Sky Exposure Factor:
Zhang, J., Heng, C. K., Malone-Lee, L. C., Hii, D. J. C., Janssen, P., Leung, K. S., & Tan, B. K. (2012). Evaluating environmental implications of density: A comparative case study on the relationship between density, urban block typology and sky exposure. Automation in Construction, 22, 90-101. doi: 10.1016/j.autcon.2011.06.011
…
e below).
Explanation of my intent:
The first input (crvTree) has the exact same data structure as the second input (cell_name). crvTree contains one or more Curves in each branch, while cell_name contains exactly one string per branch.
The third input (system_names) is a list of string data, and I compare the single string from each branch of cell_name and find a match, then return the index of system_name.
So, for example:
crvTree brings in:
{0} bunch of Curves
{1} bunch of other Curves
{2} another bunch of Curves
cell_name brings in:
{0} "curve type A"
{1} "curve type D"
{2} "curve type A"
system_name brings in:
{0;0} "curve type A"
{0;1} "curve type B"
{2;0} "curve type C"
{2;1} "curve type D"
{2;2} "curve type E"
{3;0} "curve type F"
output should be:
{0;0} bunch of Curves (and) another bunch of Curves
{2;1} bunch of other Curves
I'm pretty sure that I can't keep accessing cell_name as an item, but instead as a tree. I was only doing that to first get the strings to match, which I did.
protected override void SolveInstance(IGH_DataAccess DA) { //Declare a new List(Of T) to hold the input text data. string cell_name = "nothing yet"; List<string> system_names = new List<string>(); int index; Grasshopper.Kernel.Data.GH_Structure<Grasshopper.Kernel.Types.GH_Curve> crvTree = new Grasshopper.Kernel.Data.GH_Structure<Grasshopper.Kernel.Types.GH_Curve>();
//Retrieve the whole list of System Names using DA.GetDataList(). if ((!DA.GetDataTree(0, out crvTree))) { return; } if ((!DA.GetData(1, ref cell_name))) { return; } if ((!DA.GetDataList(2, system_names))) { return; }
index = system_names.IndexOf(cell_name);
int index2 = -1; for(int i = 0; i < system_names.Count; i++) { if(String.Equals(system_names[i], cell_name, StringComparison.OrdinalIgnoreCase)) { index2 = i; break; } } DA.SetData(0, index2); DA.SetDataTree(1, crvTree);
}…
s o alguna de sus partes con la máquina de control numérico de ControlMAD. La finalidad es entrar en contacto con las herramientas disponibles ( control numérico, corte por láser, brazo robótico, scanner 3D..) para construir formas y superficies de geometría compleja a partir del 3D del ordenador.
El curso se acompaña de visitas para conocer de primera mano el trabajo con estas herramientas digitales.Duración: 48 horas:Clases de 3D: Modelado con RHINO (16 horas) + GRASSHOPPER (8 horas) + Vray (4 horas)Proyecto personal tutorado y fabricado en su totalidad o en la parte más significativa con la máquina de control numéricoVisitas programadas:Taller de maquetas. Maquetas de arquitectura para estudios como Zaha Hadid o Moneo. Trabajan con láser y control numérico.Fundición Capa: han realizado esculturas para Dalí, Oteiza o Manolo Valdés entre otros. Trabajan con scanner 3D y brazo robótico.Pasarela sobre el Manzanares, de D. Perrault.…
ler se han seleccionado un conjunto de técnicas y estrategias para resolver problemas que hoy se presentan en el diseño y fabricación digital de formas complejas y euclidianas.
Bajo dos entornos de trabajo, entre técnicas interactivas y soluciones algorítmicas, se examinan conceptos y casos de estudio que le permitirán al participante decidir como y en que momento estas tecnologías pueden ser utilizadas como aliadas en los procesos de diseño y fabricación. Tomando como plataforma básica Rhino, se explora y optimiza el diseño y fabricación de topologías complejas bajo los entornos de Grasshopper y Paneling tools
En el mes de Julio de 2010 (26 al 29 de febrero) se realizará el Workshop de Grasshopper - Paneling tools en McNeel Argentina,
Contenidos:
1. Modelado Avanzado y sus Tecnicas. Aplanado y Desarrollo de Superficies.
2. Tecnicas de panelizado plano
3. Introducción al Diseño Paramétrico.Definiciones Avanzadas de Grasshopper,posibilidades y limitaciones. Ajustes de escala para impresión y corte.
4. Renderizado basico con Rhinoceros
El workshop tiene una duracion de 24 hrs. (4 dias x 6 horas por dia, horario 10 a 13 hrs y 14 a 17hrs)
Docentes
Facundo Miri - McNeel Argentina.
Se dictara en McNeel Argentina
Ciudad de la paz 2719 3A. - Belgrano - Capital Federal.
Costo del Curso
U$S250+IVA
www.rhinoceros.com.ar…
image with shows some simple usage of the path mapper.
The points worth noting are the following:
1. The "Source" is comrised of a single line notation which EXACTLY matches the existing path structure. This means that if your parameter viewer shows you a path strcutrure which looks like {0;0;0;1;0} (N=4), your source input should look like {A;B;C;D;E}(i). Here, all the letters A-E and i are placeholders meaning that they can be any letters and are standing by for each digit in your path structure. This also means that they could be any letters: {Q;R;S;T;U}(V) would work as well as {A;X;T;B;S}(J). The important thing is that you are identifying each digit (including the value of 'N', the total items in each path).
2. The "Target" is (obviously) your desired path structure. If you want to simply get rid of the zeros while maintaining essentially the same path structure, it is as simple as dropping out those placeholders while writing the target notation. In the above example, if your source is {Q;R;S;T;U}(V), you can use a targe like {S;T}(V) to return a structure which will be {0;1}(N=4) or {T}(V) for {1}(N=4) and so on.
3. if you want to swap the path structure, i.e. if you have 5 paths with 10 items each and you want 10 paths with 5 items each, you switch the placeholders in the source and target notations. for example, {X;Y}(n) -> {n}(Y)... and so on.
I hope that the above is of some help. Please feel free to keep asking.…
Added by Sameer Kumar at 10:29am on December 7, 2009
in with the names translated back into paths. It seems to be fairly similar to the way David's upcoming Geometry Cache that Danny mentioned will function.
Now I just have to figure out what to do with your right pinky!
Secondly, in working with trees in general, I have come up with a number of clusters of my own that simplify frequent tasks. In particular many of them are designed to eliminate the use of the Path Mapper, which I find to be a clumsy tool because it has to be updated every time there is a change in the tree structure fed into it.
Maybe you will find some of them useful. I have attached them all in the definition called "Andrew's Tree Utilities"...
1. Match Path - Given two sets of data with N total items, assign the path structure from one list to the other.
2. Assign Paths - Given a flat set of data and a flat list of paths, format the data items into the specified tree structure.
3. Partial Flatten - Equivalent to a Path Mapper from {A;B;C;D} to {A;B;C}, except it takes an integer value for the number of "levels" to eliminate, and works regardless of the input structure. (i.e. could be {A;B;C} or {0;0;0;A;0;0;B;0;C}
4. Flatten one level - same as above, but defaults to a single level of flattening. I use this one in almost every definition I make.
5. Clip Tree - this reduces a "jagged" set of paths ({0;0} and {0;0;0} and {0;1} etc.), such as are produced by many of the intersection components (the intersections that exist get another level of hierarchy where the nulls remain in the original tree structure) to the overlap among the paths. Equivalent to Path Mapping {A;B}->{A;B} and {A;B;C}->{A;B} but works regardless of the input structure.
…
is also takes place in own system. However, this action can be also carried out successfully by a foreign reference, if this considers the focused system as own. Hence, these two criteria are considered in my reflexions, to make your criticism handier for me.
First the question must be put up, how is it in your case? Of friendly manner you answer this question perpetually with the statement that you are not a partial of the system of the architecture.
Furthermore the question would be appropriate, whether an external reference (eg CAD) determined architecture. This can be answered with no, because determining and influencing are different things.
Because you stress now your criticism as a foreign criticism, within the architecture the assuption must be put up, that this criticism is not unusual new on the one hand (because this condition were also in other times like that, and presumably also always so remain) and further more a lack of goodwill in your criticism comes to light, which perhaps distinguishes an external reference.
Based on your critique, it would be also desirable in the system of the architecture if the academic rules become satisfyingly followed, even if this is no guarantor for good academic works. Nevertheless, there is an aspect which at least tolerates the evident lack in the Interdiziplinarität of the architecture. This is the classical and still valid determination of the architecture, presumably regulates not only the actions of the architects, but also those who want to become it.
Many who stand in your criticism (the students, as well as the teachers, ... ), live in the awareness that architecture is a profession that combines as many areas around the topic of Building, and the architect is even only one dilettante among the external specialists. In this determination dilettantism is revalued rather positively, because this state the architects enables to assess the facets of a complicated building project better and to form thereby the whole result positively. To be a good architect, you should have circumspect specialists around yourself. And exactly this knows the system of the architecture, because "THE ARCHITECT" helps himself with the logic of other systems (to repair on the one hand his own deficits), and to create an artificial complexity, which ultimately aims to be the complexity of human beeing.
Here "THE ARCHITECTS" becomes a quality-spoken, which currently seems the external reference (CAD, BIM) would like to take claim for themselves.
........
If would not thought about it, this might be helpful:http://www.amazon.com/The-Alphabet-Algorithm-Writing-Architecture/dp/0262515806/ref=sr_1_1?ie=UTF8&qid=1376920450&sr=8-1&keywords=mario+carpo"Finally, I’d like to restate my criticisms in general terms. If we are serious about moving architecture and urbanism away from purely artistic considerations and into a more rational arena, there has never been a better time than now. All of us have access to immense computational power which can be applied to problems that have been —until quite recently— intractable. But of course the garbage-in-garbage-out adage holds true; computation can be used to generate large amounts of complexity, but complexity does not equal worth. The only time when it makes sense to invoke computation in the design process is when there is some relevant data that needs to be computed" (David Rutton)I want to make it short, and just ask a few questions, and hope that the following questions are relevant also for you, and not be considered outside your system. i think that the weighting to such questions seem to be more valuable, not for the architects.1. What is wrong from a pure artistic intention?2. What is any sense in purely architectural discourse?3. strictly looked, can be determined sense generally in a purely architectural discourse?4. What is purely architectural discourse?5. What is Funktionalismus or Rationalismus without philosophical support? 6. Would not be the pure functional fulfilment empty ? 7. Would be not a critical position on the promise of purely rational algorithms applied?…
de in Italy: gli architetti Arturo Tedeschi, computational designer e autore del bestseller “Parametric Architecture with Grasshopper” e Maurizio Degni, i fashion designer Flavia Migani, Simone Bruno e Chiara Cola ed infine dello shoe designer Alessio Spinelli, vincitore del concorso Who’s On Next 2011 nella categoria Accessori.
Frutto della loro energia e sinergia emozionale è un’opera corale che fonde le singole discipline nel rispetto delle loro identità, generando un innovativo manifesto espressivo e produttivo basato sull’integrazione dei tradizionali strumenti di disegno con processi parametrici elaborati al computer, oramai potente sistema d’indagine e sperimentazione formale per ogni disciplina artistica.
L’installazione, composta da quattro abiti completi e due calzature collocati all’interno di una scultura parametrica in costante dialogo con lo spazio espositivo, è il punto d’incontro tra decenni di ricerca teorica e una nuova consapevolezza progettuale. Il contributo musicale di Davide Severi, la documentazione dell’intero processo creativo e i video firmati da Francesco Ricci Lotteringi si offrono allo spettatore coinvolgendolo in un apprendimento multidisciplinare.
__
In the evocative setting of the Cloister of Bramante, from July 7th to 10th, a new project created by Double comes to life: NU:S.
An extraordinary and engaging installation, which examines the contamination between Fashion and Architecture and attempts to break the mold of the Roman art scene taking advantage of the important creative contribution of young and talented members of Made in Italy: the architects Arturo Tedeschi (computational designer and author of the bestselling "Parametric Architecture with Grasshopper ") and Maurizio Degni; the fashion designers Chiara Cola, Simone Bruno, Flavia Migani, and Alessio Spinelli (shoe designer winner of the 2011 Who's On Next in Accessories category). The concept and the creative direction are the undertaking of Antonella Buono. The result is a harmonious work that merges the individual disciplines while respecting their identities creating an innovative expressive manifesto, thanks to the use of a revolutionary architectural language: the parametricism .
Parametricism is a paradigm which utilises digital models generated through new techniques of computer programming, which today can be considered as equally powerful systems of investigation and formal experimentation, as are considered conventional drawing tools.
The installation, which is the culmination of decades of theoretical research and a new planing knowledge, consists of four dresses, complete with accessories, which are located within a parametric framework in constant dialogue with the exhibition space, involving the audience in a multidisciplinary learning process.
The installation soundtrack was composed by Davide Severi, a talented musician with a substantial knowledge of reinassance music and strong digital music background.
…
ODE sas.
Please find below his official answer, in English and in French (original version).
Best regards,
Matteo Lo Prete, MScArch.
English version
“Probably it is necessary that you consider how most type of objects are not categorized by the IFC, considering a contemporary subject. Beyond your appreciation, that we consider as really important, we relativize the significant feedback appreciations communicated by those subjects to whom the IFC was referred: the construction companies. Taking distance from your comments, a little bit superficial and youthful, we can affirm that: the quantities, data on products, contextualization of drawings, calculations, etc. distinguish the work that we did from the partial and poor scenario that you describe.
This result has been particularly appreciated by the companies who had to estimate a complex project in 3 months. Whatever you may say, this is a fact recognized into our field already: this first public procurement (Loi n° 85-704 du 12 juillet 1985 “MOP - Maîtrise d'Ouvrage Publique”) offered estimation procedures never reached for such complex project. This also means that, finally, the estimation and the offer negotiated by the companies respected the client’s goal. This is for your information.
I wish to ask a question to you, Rhino trainer at RhinoForYou: how and in which conditions you accessed to constriction companies’ tipoffs?”
Original French version
“Il faut probablement que vous considériez que la plupart des typologies d’objet ne sont pas catégorisées par les IFC du fait du travail sur un objet contemporain. Par delà votre appréciation, qui compte beaucoup a nos yeux, nous avons pour les relativiser le retour des appréciations réellement importante à nos yeux, puisque ce sont celle à qui étaient adressés les IFC: les entreprises. Bien différente de votre réaction, un peu cutanée et juvénile, nous pouvons vous dire que: les quantitatifs, les données relative des produits, la contextualisation des pièces graphique, notes de calculs, etc distingue ce que nous avons fait de l'état partiel et appauvri que vous relatez. Ce résultat a été particulièrement appréciés par les entreprises qui ont eu à chiffrer un projet complexe en 3 mois. Quoi que vous en disiez il est un fait reconnu dans la profession désormais: ce premier appel d'offre public lois MOP a permis des conditions d'évaluations jamais atteintes pour un ouvrage complexe. Ce qui veut dire que l'estimation et le prix négocié pour les entreprises sont rentrée in fine dans les objectifs de la MOU. Voilà pour votre information. J'aurais souhaité vous adresser une question, à vous qui êtes formateur Rhino chez RhinoForYou: comment et dans quelles conditions avez vous eu accès a des donnés entreprises?”…
I'm facing a quite strange issue with an "intermediate" script (that counts branches on a per "node" basis).
Let's describe first why this "intermediate" script is required:
As you can see the "main" script provides points/lines et all in non identical data trees (obvious: since the path structure depends upon if a surface is open or closed). Thus if we need to "post process" (iterate correctly through branches, that is) these trees (in a variety of scripts) we need a way to count branches on a per "node" basis.
This is what this (WIP) script does :
And now the strange issue:
The first function finds the max path dimension ( i.e. for path {a;b;c;d} dimension is 4). Then this value is passed to other functions as argument and life goes on:
The function is really simple:
Now choose this as test tree (works OK: max path dimension=3):
Then switch to the crazy tree (works OK, max path dimension=4):
Then switch back to the initial tree (Oops : max path dimension=4 instead of 3)
Maybe has to do with the exception handling here:
best, the jelly fish
…