Space Syntax is a theory of architecture and built environment that seeks to explain the effect of spatial configurations on behavioral patterns of people. SYNTACTIC tools bring Space Syntax theory into parametric design workflows. More information on syntactic design methodology:
My PhD dissertation (see chapters 3 & 4)
For more information, videos, news and updates you can visit the following website.
See a video demo-tutorial here.
The plugin is available for download here: https://genesis-lab.dev/products/syntactic/
This plugin is completely compatible with SpiderWeb for Grasshopper and we hereby thank Richard Schaffranek for all we have learned from this extremely useful plugin.
NEW VERSION WAS RELEASED ON JANUARY 25, 2015.
See our newest results these publications:
Voxel-Based Spatial Ergonomics Research
Evaluating Spatial Configurations as to their [Adaptive] Reuse Potential
UPDATE: Genesis Lab [webpage][website] is to modernize, open-source, and develop the toolkit starting in December 2021. Stay tuned for updates through my YouTube Channel and ResearchGate.
Tim
Just to be on the same page, are you talking about C_Disk_PZN_Corrected.gh?
Apr 25, 2016
Tim
If yes, I just checked it, maybe I haven't gotten it yet, but how does it bake justified graph (it doesn't even have any outputs, which is the problem)
Apr 25, 2016
Pirouz Nourian
Yes Tim, that is the component I meant. Indeed it cannot do the job as is because the Justified Graph Component doesn't have an output. That component has one of the biggest chunks of code... Let me see if I can rewrite it to get an output from it.
Apr 25, 2016
Tim
Please do if you have time, if not with code, I could rearrange intersecting bubbles in AI if have baked geometry. Meshes are ok too, I can convert them to hatches with Human or FabTools plugins.
Apr 25, 2016
Tim
Also text is very important, if possible to output it as a text that would be most useful.
Apr 25, 2016
Arindra Januari
Hey Pirouz,
I would like to ask about the entrophy parameter that is connected with the integration. In the paper 'designing with space syntax' there's explanation about the formula that you used to get the measurement for each parameter but how about the entrophy? I'd really love to know where do the numbers come from. Thanks in advance!
May 1, 2016
Pirouz Nourian
Hi Arindra,
The measure Entropy is newer than the rest in our implementation. I hereby explain it (from my PhD dissertation):
Entropy values, as described in (Hillier & Hanson, The Social Logic of Space, 1984) and specified in (Turner A. , “Depthmap: A Program to Perform Visibility Graph Analysis, 2007), intuitively describe the difficulty of getting to other spaces from a certain space. In other words, the higher the entropy value, the more difficult it is to reach other spaces from that space and vice-versa. We compute the spatial entropy of the node as using the point depth set:
(11)
“The term is the maximum depth from vertex and is the frequency of point depth *d* from the vertex” (ibid). Technically, we compute it using the function below, which itself uses some outputs and by-products from previous calculations:
Algorithm 4: Entropy Computation
Given the graph (adjacency lists), Depths as List of List of integer, DepthMap as Dictionary of integer
Initialize Entropies as List(double)
For node as integer in range [0, |V|)
Next
May 2, 2016
Arindra Januari
Hi Pirouz,
thank you so much for your quick answer! I really appreciate it. :)
May 2, 2016
mehrnoosh_arc
hello;
firstly , thanks alot for this helpful plugin.
i'm having a problem with Triangulate component that show Error:1.Solution exception:value cannot be null. but i can't solve it.
please helpe me.
SYNTAZTIC_NewVersion_PublicRelease_0.2.7.gh
SYNTACTIC_NewVersion_sample_2.7.3dm
May 7, 2016
Pirouz Nourian
Hello Mehrnoosh,
The problem with your file is that the configuration you are trying to realize as a plan layout is not planar. That means there can be no drawing of your configuration graph on a piece of paper without its edges (links) crossing each other. That is not a software issue, but a theoretical limitation. If you want to get a result from the methods, you need to remove a few links so that the graph becomes a planar graph.
May 13, 2016
Federico Secci
I apologise in advance for my poor English. Is it possible with space syntax to make 2D/3D visibility analysis? (I rode about the isovist bubble)
May 25, 2016
Shayan Kavakeb
Dear Pirouz,
First, I would like to thank you for developing this tool, I find it very useful and well developed. I am currently working at UK AECOM and involved in various projects related to urban space. I believe this tool is under the following licence: Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported Li.... Thus, we cannot use it for commercial purposes.
I wonder can we discuss on how we can use this tool for commercial purposes at AECOM?
Best regards,
Shayan
Jun 10, 2016
Pirouz Nourian
Dear Shayan,
Thanks for your kind words; and apologies for responding late. Happy to hear that you find the tools useful in practice. Regrading the licensing, we have been thinking of changing the license towards a more-open one. For the time being, I can write to your email and grant permission free of charge to use the tools, on the condition that 'some' results are shown to public with attribution to the toolkit, including on this platform. You can send me an email on p.nourian@tudelft.nl
Jun 13, 2016
Larouci Brahim
Thank you a lot, I'm waiting the 3d plug-in
Jun 13, 2016
Pranav
can anyone please upload a working gh script with NEWS vertices and dual graph??? i couldnt link them properly..it states error evrytym
Aug 28, 2016
Pirouz Nourian
@Pranav: you can check the example files included in the installed file. Note that the NEWS graph can only work on a certain class of graphs that are called 3 connected. These graphs cannot be torn apart unless at least three links of them are cut.
Sep 19, 2016
salma samir elesawy
Hello, dear Pirouz
I have used SYNTATIC in an analysis of an urban area and I have common miss measurements that the relationship between local and global integration is negative correlation and logically, it must be positive. I have attached the. GH and. 3dm files. I hope you help me to fix this error. thank you in advance
locaandglobalintegration.gh
Sample.rar
Sep 21, 2016
Pirouz Nourian
Hi Salma, I'm currently busy with my defense planned for next Friday and cannot work on the files; however, I do not see why you should expect a positive correlation between local and global integration in every situation? Where does this rule come from? In Space Syntax literature, if there is such a positive correlation people consider the configuration to be illegible. That is all I can recall about this. Could you please elaborate?
Sep 23, 2016
Pirouz Nourian
working on a new set of tools for adjacency tables. will release them one by one:
Nov 11, 2016
Tim
Great news, glad to hear that.
Nov 11, 2016
Pirouz Nourian
and here are two more features from the same tool:
Nov 14, 2016
Tim
I don't understand what I see (yet), but I like it.
Nov 14, 2016
Pirouz Nourian
Hi, we are going to release the latest version of CONFIGURBANIST as a dll library (API) that can be accessed through C# and VB.NET components. In the meantime, I thought you could try and test the modules and provide suggestions. It comes with some goodies useful along with SYNTACTIC tools, such as Spectral Graph Drawing and Matrix Plots. Simple connectors are also provided for SYNTACTIC and SpiderWeb. This new toolkit is in some ways fundamentally different from the version you have been using so far. For more info please check my dissertation:
http://abe.tudelft.nl/index.php/faculty-architecture/issue/archive
if you don't have the time to read this, check this one out:
https://www.researchgate.net/publication/303944600_Spectral_Modelli...
If you want to try this version you need to install two libraries in your Grasshopper/Special Folders/Components Folder
* Math.NET (MathNet.Numerics.dll): http://www.mathdotnet.com/
* Configraphics_CS.dll (the library to be completed by me)
Please note that because this package uses Math.NET their licencing terms apply as well as those of mine. Please read the Read-Me panel in the file.
If you want to write a C#/VB snippet to do something in connection to this package we'd be happy to help you with that (as much as the schedules and other things allow us) and eventually involve you as a developer in the next versions.
Our vision for the next versions is to connect/integrate this package with SYNTACTIC and SpiderWeb.
I will replace some of the groups with better/newer modules in the coming days. Stay tuned.
CONFIGURBANIST_Nov2016_TestVersion.gh
Configraphix_CS.dll
NOTE: This file is a Work-in-Progress and likely to contain bugs and errors. Use at your own risk. In no circumstances the authors (mentioned in the CC licence above) can be held responsible for any kind of damage (hardware, software or other kinds of property) caused by using these packages. The package does not come with any sort of guarantee.
Nov 24, 2016
maryam
How was demonstrated three-dimensional “isovist” by using GrassHopper
Do the same plug-SYNTACTIC done?
Nov 28, 2016
Pirouz Nourian
Hi, yes this is a C# component which will be included in the 'next' version of SYNTACTIC.
Nov 28, 2016
Pirouz Nourian
Dec 2, 2016
maryam
Hi
Do SYNTACTIC plug is able to do separately calculate the mean depth "MD" or "TD" (in space syntax theory) such as Different factors, Selection and Integration?
Dec 2, 2016
Pirouz Nourian
Hi, Yes, you can easily make TD and MD values by using the Depth Tree output of the integration component and using a Mass Addition component. Difference Factor is separately provided as a component.
Dec 3, 2016
maryam
Hi
Do you mean using “Mass addition” to achieve MD is this picture?
as far as I know According to the functionality of this component does not seem to be able to provide the mean depth.
If possible further advice Thank you.
Dec 6, 2016
Pirouz Nourian
hi, this is a way to do this:
Dec 6, 2016
Yalda Sharifi
Hi, May I ask you to explain how to create Weighted Voronoi Diagram?
Dec 14, 2016
Pirouz Nourian
Hi Yalda, you can use it like the grasshopper's Voronoi diagram component with a list of points and a boundary curve plus a list of areas to be used as the weights. You can check the demo file for an example. The demo file comes in the installed folder.
Dec 15, 2016
Yalda Sharifi
Thanks for explanation but I didnt have any result because of an error on radii data.As Im beginner user, I still dont know is there the logical relation between radii and boundry curve or just a restrictive...
Dec 18, 2016
Pirouz Nourian
Hi Yalda, please make sure the units of the Rhino file and the radii values are the same (e.g. meters). If you aim for large radii when the boundary is small you'll get errors because the boundary cannot fit circles that big. Please start from the example file. If something went wrong again, please attach your file to a comment here and I'll look at it.
Dec 19, 2016
h
Hi,
I am very new in GH. I want to use ForceDirectedGraph lines to set proximity relations with points. Because I want to use areas as constrains for point proximity in a plan organization. However, I cannot get those r values from graph. Thanks in advance.
relations.jpg
Dec 30, 2016
Pirouz Nourian
@ h
Hi, you can get the radii of circles by making an expression like Sqrt(A/pi), where pi equals 3.1415 and A is the area of the corresponding circle. this is because the area of each circle is pi*r^2 (pi times r squared)
Dec 31, 2016
h
Yes, I know that but ForceDirectedGraph component only gives center of the circles within the graph. I wonder that it could give the areas of the circles in tangent position. I think I should calculate myself, as you told. Thanks.
Jan 2, 2017
asal alizade
Hi Everyone!
I'm new in Space Syntax and now I have problem when trying to make the triangulation. I follow the example and also read the pdf but couldn't really find the solution.here is the screenshot:
ss.PNG
sss.PNG
anyone knows what is the problem?
thank u:)
Jan 13, 2017
Pirouz Nourian
Hi Asal,
Could you please post the content of the error message and an image of the network that is to be triangulated? It could be that there is no possible triangulation or that the number of triangulations is smaller than 9 (9=8-1).
BTW, I'd suggest you look at the chapters 3 & 4 of my dissertation for an overview of the processes supported by the toolkit. http://abe.tudelft.nl/index.php/faculty-architecture/article/view/n...
Jan 13, 2017
asal alizade
Hi pirouz
tnx for your quick response.
the error is:Object refrence not set to an instance of an object.
1.PNG
2.PNG
and I will read those chapters.tnx
Jan 13, 2017
Pirouz Nourian
Hi Asal, You are welcome. In the image you have posted I see that you have not provided any connections with the NEWS sides. Those links indicate your preferences for having access to one of these sides because of lighting or other reasons. Without these links it is not possible to make a triangulation. For making these links you need to draw additional lines towards the 4 sides to indicate adjacency. Note that in the end, you need to have enough links so that the graph is at least 3-connected. That means that the graph should not be torn apart by removing 3-1=2 vertices. For technical details see: http://mathworld.wolfram.com/k-ConnectedGraph.html
https://en.wikipedia.org/wiki/K-vertex-connected_graph
Please note that this is a theoretical limitation, not a bug. I hope this helps.
Jan 13, 2017
Andreas Krigoltoi
Hey
Good job!
Was wondering, is there any way of baking the results of the analysis?
Saw a related topic before, regarding the baking process. Look through the .gh components, yet didn't find anything related to the baking.
I do see a workaround, where You just screenshot the image/part of the graph and edit it afterwards. Anyway, was just wondering if there is a way straight bake it, instead of using the workaround.
//
I find this method of spatial analysis awesome, since it lets us create a solid layer of information. The analysis supports a branch of ideas and works side-by-side with the designers own intuition.
Again, a big thanks :)
Feb 4, 2017
Tanya
Feb 5, 2017
Pirouz Nourian
Hi all, as I find the question of Tanya relevant for all, I post my answer here:
I think this can make a good didactic discussion for our users.
My short answer is that Space Syntax or any other theory based on computational models cannot predict the behaviour of individual people. Humans are creative and their actions cannot be explained solely based on cause-effect (stimulus-response) mechanisms. In other words, people cannot be reduced to ‘causal systems’. That said, social sciences can be helpful in studying the likelihood of social behaviours. In this particular case, the underlying assumption of Space Syntax is that any environment (the network of spaces in a building or in a city) has an effect on human behaviour in terms of such things as mobility and social interactions. Space Syntax is an umbrella term for a range of mathematical constructs that seek to relate the structural (graph theoretical) properties of space to human mobility and social interactions. The effect of spatial configuration on human (social/average individual) behaviour cannot be deterministic. In any field studying human behaviour one needs to consider many factors that can nudge human behaviour in certain directions. Anyway, long story short, Space Syntax models often use the so-called centrality models to study the graphical (network) structure of space and check the ‘potential’ of a spatial configuration for conducting human movement flows or finding gradients of privacy-community, chances of social encounter etc.
I would prefer to separate two things:
As for the computational design process based on a network construct, I am working on an alternative method for producing spatial layouts that is based on a voxel-grid of space (still a work-in-progress)
Please feel free to share your insights and opinions.
Feb 9, 2017
Pirouz Nourian
C_Disk_PZN_Corrected.gh
hi Andreas Krigoltoi; thanks for your kind words; I am happy to hear the tools are useful. Re baking (instantiating) visualization results, my new approach is to get Mesh outputs from diagram components. That is my intention but work pressure makes it difficult to realize it... There is one component I have posted before here that puts out meshes for bubble diagrams. The eventual solution (which I am working on these days) is to open source the analytic algorithms and let people develop their own visualization tools on top of them. Keep in touch.
Feb 9, 2017
Pirouz Nourian
Hello Seghier, I would suggest using the names instead of icons (this is a GH option). This is a standard parameter container from GH (not from our plugin). You can (most probably) find it in the first menu Parameters.
Feb 13, 2017
Pirouz Nourian
then it is an extracted "number" parameter containing real numbers (e.g. 2.34, 10.0, etc.). Use a "number" parameter instead.
Feb 13, 2017
Pirouz Nourian
it could also be a "text" parameter container.
Feb 13, 2017
Pirouz Nourian
send a simple version of your file please. I'm not sure I understand what you are trying to do.
Feb 13, 2017
maryam
Happy New Year
This Picture attached, refer to an article, published in the Journal of Space Syntax
This article refers to software. that is as far as I know is currently not available
?Did you know that & time of publication the software
I am grateful that I guide
Mar 22, 2017