Space Syntax

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)

Designing with Space Syntax

Syntactic Design Methodology

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 Graph Operators

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

Load Previous Comments
  • Tim

    Great news, glad to hear that.

  • Pirouz Nourian

    and here are two more features from the same tool:

  • Tim

    I don't understand what I see (yet), but I like it. 

  • 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. 

  • maryam

    Hello

    How was demonstrated three-dimensional “isovist” by using GrassHopper

    Do the same plug-SYNTACTIC done?

  • Pirouz Nourian

    Hi, yes this is a C# component which will be included in the 'next' version of SYNTACTIC.  

  • Pirouz Nourian

  • 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?

  • 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. 

  • 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.

  • Pirouz Nourian

    hi, this is a way to do this:

  • Yalda Sharifi

    Hi, May I ask you to explain how to create Weighted Voronoi Diagram? 

  • 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.

  • 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...

  • 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. 

  • 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

  • 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)

  • 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. 

  • 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:)

  • 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...

  • 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

  • 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. 

  • 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 :) 

  • Tanya

    I am currently working on my thesis that seeks to design a school that is sensitive to students' mental well being and behavior. I wish to understand how Space Syntax or a computational design workflow can be used to solve such a problem in a generative design process. Can Space Syntax be used to convert intangible experiences into design tangibles?
     
    So far, I have seen its use in Visibility Graphs, Convex Maps, Isovists etc. However, can such a theory drive the design process? Please guide me to examples of generative applications if any.
  • 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. 

     

  • 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. 

  • 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.  

  • Pirouz Nourian

    then it is an extracted "number" parameter containing real numbers (e.g. 2.34, 10.0, etc.). Use a "number" parameter instead. 

  • Pirouz Nourian

    it could also be a "text" parameter container.

  • Pirouz Nourian

    send a simple version of your file please. I'm not sure I understand what you are trying to do.  

  • maryam

    Hi Pirooz

    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

  • Pirouz Nourian

    Hi Maryam; Happy Nowruz

    I think it is done in GH by Dr. Tasos Varoudis @UCL. That is all I know. I don't know if their app is available. If you want to do visibility studies I'd suggest using SpiderWeb

  • maryam

    I e-mailed to Dr. Tasos Varoudis and Dr answer to me:

    This examples were done with a custom software, not available in public.

    You need to use your own scripting to do something like this at the moment.

    I think it is an upgraded version of the Depthmap software. Did you notice the two-dimensional to three-dimensional version upgrade it?

  • Richard Schaffranek

    Hello Maryam,

    I don't think it is a depthmap upgrad. If you look up the paper and take a look at figure 4 / 5 you see the standard Rhino3d Isocurve display of cubes. For some reasons people do not want to say, it was done with grasshopper....

    If your up recreating 3D IsoVist analysis I suggest to find a good 3d FOV algorithm - there are some around in GH forum. Once you have determined what voxels are visible form a  voxels you can use spiderweb to run BFS and than compute what kind of integration Value you would like to compute (RA,RAA,I).

    However these things get very pricy (computational wise) as visualGraphs are always very dens.

    I was thinking of implementing BFS on GPU at one point, than things should be a bit faster...

    Best

    Richard

  • Pirouz Nourian

    Hi Richard, thanks for the hints. It's funny why one sometimes feel uncomfortable mentioning GH :)). Could you please point to some of these Field-of-View algorithms implemented in GH? Have you ever tried using this one: http://www.cse.chalmers.se/edu/year/2015/course/TDA361/grid.pdf

  • maryam

    Thanks Rich & Pirooz

    I'll try my best
    Hope to succeed

  • matthew naivasha

    Hi Pirouz,

    I'm having some trouble producing a functional Disk Graph Drawing that uses the NGV output from the Force Directed Drawing component. It appears that the repulsion & attraction forces are not performing correctly. I continue to get an error message from the Disk Graph Drawing component that reads:1. Solution exception:Object reference not set to an instance of an object. See posted files Norwst_02.ghNorwest_02.3dm

  • Pirouz Nourian

    Hi Matthew, just tried to open your Rhino file, but it is not saved properly as a Rhino file. Can't open it. Anyhow, I am familiar with this question. The thing is, a coin graph like the one you expect from a Force-Directed Graph Drawing algorithm might not be possible to draw given the list of areas, imagine fitting a 2 Euros coin in the middle of four 5 cents coins. It does not fit. A force-directed drawing algorithm is a heuristic algorithm; meaning it is not guaranteed to work; but it often does. It is theoretically not guaranteed to converge to a solution. If you would like to see something sensible you can lower attraction and repulsion to get a better picture of the situation. You can also use the 'Spectral Graph Drawing' tools of Cheetah (only the new version available on the forum) or Spider Web for getting a picture of your spatial network.  

    more info on the force directed algorithm and the whole process:

    http://abe.tudelft.nl/index.php/faculty-architecture/issue/view/474

  • matthew naivasha

    Hi Pirouz,

    really appreciate your help. I am currently installing the new version of cheetah and will have a look into the Spectral Graph Drawing tool. I have read through a couple of the chapters in your phd and now have a better understanding of the Force -Directed Drawings and why I was not achieving a good result. The list of areas, spaces and connections I was using for input were a bit complicated. I will simplify and have another go. Love your work : )  

  • Pirouz Nourian

    Hi Matthew, thanks for your kind words! happy to hear you find the tools useful. Perhaps you can follow the instructions/pseudocode in my PhD and make a 3D version of this algorithm with the help of Kangaroo. I can then translate it to C# and include it. 

  • Romero Barro

    Hi Pirouz,

    I am trying to install syntactics on my desktop but can't seem to get it to work. I've tried using the installer and copying the gha file to the libraries folder, made sure it isn't blocked or anything, but still it never shows up after i open grasshopper. I've tried this several times, running as administrator and not, but still it never works. Any idea you have as to what might be causing this?

    Thanks!

  • Pirouz Nourian

    Hi Romero, sometimes you have to restart your machine to get to see the new plugin running in your GH; I guess you have done this already though... Have you checked if your Rhinoceros is up to date? Rhino/tools/options/update

  • Karlo54

    Hi Pirouz,

    I am working for construction company  under design department, i would like to ask if its allowed to install and use your plugin together with galapagos to study space planning ideas? e.g. study  possibility of building core planning iterations. Thank you.

  • Pirouz Nourian

    Hi Karlo, Thanks for your message. Yes you are free to use the tools for commercial purposes. The only condition is to mention the software in your publications or cite our papers and kindly post some results here on the forum. 

  • Pirouz Nourian

    BTW, if you wish to have additional tools currently missing in the toolkit you can send me a mail p.nourian@tudelft.nl 

  • Karlo54

    Thank you very much for your permission. I will definitely indicate your software and credits to you once i prepare a presentation to top management on the use of this plugin.  will post on this forum any progress i have made. Thank you again if you allow me to add additional tools. 

  • Pirouz Nourian

    The first 3D molecule of Space Syntax and the beginning of a new season ;)

    141 iterations in 11 milliseconds

    Stay tuned...

  • Sz_tju

    Hi Pirouz,

    Thank you for your SYNTACTIC tool, I am using it to make the axial analysis. And now I have a problem. If I have a city plan or building plan to make the axial analysis for it, I want to know how to use grasshopper to generate the axis graph first?

  • Pirouz Nourian

    The story and the [3D] future of SYNTACTIC: Space Syntax 4 Generative Design

    https://www.slideshare.net/secret/yhBdV0QwFG0GsG

  • Theodoros Galanos

    Hi Pirouz,

    The presentation is indeed private (no access)! Not sure if that was intended :)

    Regards,

    Theodore.