3D voronoi structure(3D-semi-orthogonal voronoi structure) - Grasshopper2024-03-29T08:41:43Zhttps://www.grasshopper3d.com/forum/topics/3d-voronoi-structure-3d-semi-orthogonal-voronoi-structure?commentId=2985220%3AComment%3A1737431&x=1&feed=yes&xn_auth=no2 steps
first step is to or…tag:www.grasshopper3d.com,2017-04-22:2985220:Comment:17374312017-04-22T16:23:46.918ZMohamed Naeimhttps://www.grasshopper3d.com/profile/MohamedNaeimAbdelgalilIbrahim
<p>2 steps </p>
<p></p>
<p>first step is to organise points (cells ) in pairs, then check if the angle between them is close to orthogonality(0,90,180,270) within 20 degrees deviation, if so, then the point location is adjusted (once for each pair) so it become right angle. If not, then the connection left as its (diagonal). That happens only once(chosen logic) for each pairs.</p>
<p></p>
<p>second step: is to trim the spheres to build the voronoi. </p>
<p></p>
<p></p>
<p>2 steps </p>
<p></p>
<p>first step is to organise points (cells ) in pairs, then check if the angle between them is close to orthogonality(0,90,180,270) within 20 degrees deviation, if so, then the point location is adjusted (once for each pair) so it become right angle. If not, then the connection left as its (diagonal). That happens only once(chosen logic) for each pairs.</p>
<p></p>
<p>second step: is to trim the spheres to build the voronoi. </p>
<p></p>
<p></p> Hi Tomohiro
Well ... get the…tag:www.grasshopper3d.com,2017-04-21:2985220:Comment:17372212017-04-21T15:59:01.545Zpeter fotiadishttps://www.grasshopper3d.com/profile/peterfotiadis
<p>Hi Tomohiro</p>
<p>Well ... get the C# (actually 2: step 1 and 2) ... but if you are not familiar with coding matters this wouldn't be helpful to you (at all). Why? because it's a "black box" and you can't do anything to improve it or to add new feature/capabilities etc etc.</p>
<p>In any case:</p>
<p>1. Whilst the 2nd C# is disabled (that does the Voronoi thingies) try to understand the logic: why the (help) boxes are used and what the variables present do. If you can't do that ... the Cell…</p>
<p>Hi Tomohiro</p>
<p>Well ... get the C# (actually 2: step 1 and 2) ... but if you are not familiar with coding matters this wouldn't be helpful to you (at all). Why? because it's a "black box" and you can't do anything to improve it or to add new feature/capabilities etc etc.</p>
<p>In any case:</p>
<p>1. Whilst the 2nd C# is disabled (that does the Voronoi thingies) try to understand the logic: why the (help) boxes are used and what the variables present do. If you can't do that ... the Cell creation would remain a mystery to you.</p>
<p>2. Before going to step 2 ask any question related with step 1.</p>
<p>But if you are after some <strong>sort of housing/tower/etc</strong> using "similar" cells ... well that's another animal, it's rather complex and requires several lines of code more. </p> Hello,Naeim!
Thank you for an…tag:www.grasshopper3d.com,2017-04-21:2985220:Comment:17371222017-04-21T15:29:52.208ZTomohiro Nishiyamahttps://www.grasshopper3d.com/profile/TomohiroNishiyama
<p>Hello,Naeim!</p>
<pre class="tw-data-text tw-ta tw-text-medium" id="tw-target-text" dir="ltr"><span lang="en" xml:lang="en">Thank you for answering my question!</span></pre>
<p><span lang="en" xml:lang="en"><br/><span>I have just started studying, so I can not understand the details. However, I will refer to the program you attached.</span><br/></span></p>
<p>Thank you!</p>
<p>Hello,Naeim!</p>
<pre class="tw-data-text tw-ta tw-text-medium" id="tw-target-text" dir="ltr"><span lang="en" xml:lang="en">Thank you for answering my question!</span></pre>
<p><span lang="en" xml:lang="en"><br/><span>I have just started studying, so I can not understand the details. However, I will refer to the program you attached.</span><br/></span></p>
<p>Thank you!</p> Hello,Peter!
Thank you for an…tag:www.grasshopper3d.com,2017-04-21:2985220:Comment:17372152017-04-21T15:28:52.138ZTomohiro Nishiyamahttps://www.grasshopper3d.com/profile/TomohiroNishiyama
<p>Hello,Peter!</p>
<pre class="tw-data-text tw-ta tw-text-medium" id="tw-target-text" dir="ltr"><span lang="en" xml:lang="en">Thank you for answering my question!</span></pre>
<p><span lang="en" xml:lang="en"><span>I have just started studying, so I can not understand the details.</span></span></p>
<p></p>
<pre class="tw-data-text tw-ta tw-text-medium" id="tw-target-text" dir="ltr"><span lang="en" xml:lang="en">Could you give me a program if you like?</span></pre>
<p>Hello,Peter!</p>
<pre class="tw-data-text tw-ta tw-text-medium" id="tw-target-text" dir="ltr"><span lang="en" xml:lang="en">Thank you for answering my question!</span></pre>
<p><span lang="en" xml:lang="en"><span>I have just started studying, so I can not understand the details.</span></span></p>
<p></p>
<pre class="tw-data-text tw-ta tw-text-medium" id="tw-target-text" dir="ltr"><span lang="en" xml:lang="en">Could you give me a program if you like?</span></pre> The only tricky bit is some s…tag:www.grasshopper3d.com,2017-04-20:2985220:Comment:17364812017-04-20T16:58:10.328Zpeter fotiadishttps://www.grasshopper3d.com/profile/peterfotiadis
<p>The only tricky bit is some sort of control that yields "equalized" cells (within the limits of possible)</p>
<p><a href="http://storage.ning.com/topology/rest/1.0/file/get/2769280891?profile=original" target="_self"><img width="721" src="http://storage.ning.com/topology/rest/1.0/file/get/2769280891?profile=RESIZE_1024x1024" class="align-full" width="721"/></a></p>
<p>The only tricky bit is some sort of control that yields "equalized" cells (within the limits of possible)</p>
<p><a href="http://storage.ning.com/topology/rest/1.0/file/get/2769280891?profile=original" target="_self"><img width="721" src="http://storage.ning.com/topology/rest/1.0/file/get/2769280891?profile=RESIZE_1024x1024" class="align-full" width="721"/></a></p> Still under development
but…tag:www.grasshopper3d.com,2017-04-20:2985220:Comment:17365612017-04-20T16:48:18.297ZMohamed Naeimhttps://www.grasshopper3d.com/profile/MohamedNaeimAbdelgalilIbrahim
<p><a href="http://storage.ning.com/topology/rest/1.0/file/get/2769281003?profile=original" target="_self"><img width="721" src="http://storage.ning.com/topology/rest/1.0/file/get/2769281003?profile=RESIZE_1024x1024" width="721" class="align-full"/></a>Still under development </p>
<p>but I guess it works fine </p>
<p></p>
<p></p>
<p><a href="http://storage.ning.com/topology/rest/1.0/file/get/2769281003?profile=original" target="_self"><img width="721" src="http://storage.ning.com/topology/rest/1.0/file/get/2769281003?profile=RESIZE_1024x1024" width="721" class="align-full"/></a>Still under development </p>
<p>but I guess it works fine </p>
<p></p>
<p></p> I'll give you some hints in…tag:www.grasshopper3d.com,2017-04-20:2985220:Comment:17364802017-04-20T16:44:13.552Zpeter fotiadishttps://www.grasshopper3d.com/profile/peterfotiadis
<p>I'll give you some hints in order to achieve always a pair that has shared a vertical/horizontal BrepFace.</p>
<p>1. Create a 3d grid and randomly eliminate points. On each point make a box (with offset each other etc etc). Then randomly do the yellow lines (in X or in XY or in XYZ). Do not bother if the segments have equal lengths. Get the pairs of points (at end/start). Compute the big box (white).…</p>
<p></p>
<p>I'll give you some hints in order to achieve always a pair that has shared a vertical/horizontal BrepFace.</p>
<p>1. Create a 3d grid and randomly eliminate points. On each point make a box (with offset each other etc etc). Then randomly do the yellow lines (in X or in XY or in XYZ). Do not bother if the segments have equal lengths. Get the pairs of points (at end/start). Compute the big box (white).</p>
<p><a href="http://storage.ning.com/topology/rest/1.0/file/get/2769280863?profile=original" target="_self"><img width="721" src="http://storage.ning.com/topology/rest/1.0/file/get/2769280863?profile=RESIZE_1024x1024" class="align-full" width="721"/></a>2. With "help" boxes off this is the situation:</p>
<p><a href="http://storage.ning.com/topology/rest/1.0/file/get/2769281816?profile=original" target="_self"><img width="721" src="http://storage.ning.com/topology/rest/1.0/file/get/2769281816?profile=RESIZE_1024x1024" class="align-full" width="721"/></a>3. Do a Voronoi using the pair of points as above and the big box:</p>
<p><a href="http://storage.ning.com/topology/rest/1.0/file/get/2769282537?profile=original" target="_self"><img width="721" src="http://storage.ning.com/topology/rest/1.0/file/get/2769282537?profile=RESIZE_1024x1024" class="align-full" width="721"/></a>See that "equal" length lines means nothing with regard the "random" appearance of the cells.</p>
<p>If the deployment of the boxes (as in 1) is "flat" (meaning: no stacks in Z) then we have just a juicy Voronoi rectangular pepperoni pizza.</p>
<p>best</p> Almost Solved
Press acc…tag:www.grasshopper3d.com,2017-04-20:2985220:Comment:17364782017-04-20T16:15:22.776ZMohamed Naeimhttps://www.grasshopper3d.com/profile/MohamedNaeimAbdelgalilIbrahim
<p>Almost Solved</p>
<p><a href="http://storage.ning.com/topology/rest/1.0/file/get/2769276747?profile=original" target="_self"><img class="align-full" src="http://storage.ning.com/topology/rest/1.0/file/get/2769276747?profile=RESIZE_1024x1024" width="721"></img></a></p>
<p><a href="http://storage.ning.com/topology/rest/1.0/file/get/2769277342?profile=original" target="_self"><img class="align-full" src="http://storage.ning.com/topology/rest/1.0/file/get/2769277342?profile=RESIZE_1024x1024" width="721"></img></a></p>
<p><a href="http://storage.ning.com/topology/rest/1.0/file/get/2769278026?profile=original" target="_self"><img class="align-full" src="http://storage.ning.com/topology/rest/1.0/file/get/2769278026?profile=RESIZE_1024x1024" width="721"></img></a></p>
<p></p>
<p></p>
<p></p>
<p>Press according to order </p>
<p></p>
<p>number of cells Then toggle…</p>
<p>Almost Solved</p>
<p><a href="http://storage.ning.com/topology/rest/1.0/file/get/2769276747?profile=original" target="_self"><img width="721" src="http://storage.ning.com/topology/rest/1.0/file/get/2769276747?profile=RESIZE_1024x1024" width="721" class="align-full"/></a></p>
<p><a href="http://storage.ning.com/topology/rest/1.0/file/get/2769277342?profile=original" target="_self"><img width="721" src="http://storage.ning.com/topology/rest/1.0/file/get/2769277342?profile=RESIZE_1024x1024" width="721" class="align-full"/></a></p>
<p><a href="http://storage.ning.com/topology/rest/1.0/file/get/2769278026?profile=original" target="_self"><img width="721" src="http://storage.ning.com/topology/rest/1.0/file/get/2769278026?profile=RESIZE_1024x1024" width="721" class="align-full"/></a></p>
<p></p>
<p></p>
<p></p>
<p>Press according to order </p>
<p></p>
<p>number of cells Then toggle 1 </p>
<p>then toggle 2 </p> I have a quite similar thingy…tag:www.grasshopper3d.com,2017-04-18:2985220:Comment:17349252017-04-18T06:39:10.909Zpeter fotiadishttps://www.grasshopper3d.com/profile/peterfotiadis
<p>I have a quite similar thingy (Note: C# code only).</p>
<p>The only tricky part is to ensure that you have no intersection events between the prox pairs (either in 2d [likely] or 3d [most unlikely]).</p>
<p><strong>This is bad</strong> in the sense that there's some pairs NOT yielding neighbor -| "cells" (see pair intersection events).</p>
<p><a href="http://storage.ning.com/topology/rest/1.0/file/get/2769273704?profile=original" target="_self"><img class="align-full" src="http://storage.ning.com/topology/rest/1.0/file/get/2769273704?profile=RESIZE_1024x1024" width="721"></img></a> <strong>These are good…</strong></p>
<p>I have a quite similar thingy (Note: C# code only).</p>
<p>The only tricky part is to ensure that you have no intersection events between the prox pairs (either in 2d [likely] or 3d [most unlikely]).</p>
<p><strong>This is bad</strong> in the sense that there's some pairs NOT yielding neighbor -| "cells" (see pair intersection events).</p>
<p><a href="http://storage.ning.com/topology/rest/1.0/file/get/2769273704?profile=original" target="_self"><img width="721" src="http://storage.ning.com/topology/rest/1.0/file/get/2769273704?profile=RESIZE_1024x1024" class="align-full" width="721"/></a> <strong>These are good</strong> since are intersection free meaning that ALL pairs yield neighbor cells that have <strong>at least</strong> one edge vertical or horizontal (but has this any real-life meaning? he he):</p>
<p><a href="http://storage.ning.com/topology/rest/1.0/file/get/2769274173?profile=original" target="_self"><img width="721" src="http://storage.ning.com/topology/rest/1.0/file/get/2769274617?profile=RESIZE_1024x1024" class="align-full" width="721"/><img width="721" src="http://storage.ning.com/topology/rest/1.0/file/get/2769274173?profile=RESIZE_1024x1024" class="align-full" width="721"/></a>And these are also a clean run on 3d (but pair intersections in 3d are <strong>rather extremely unlikely</strong>):</p>
<p><a href="http://storage.ning.com/topology/rest/1.0/file/get/2769274690?profile=original" target="_self"><img width="721" src="http://storage.ning.com/topology/rest/1.0/file/get/2769274690?profile=RESIZE_1024x1024" class="align-full" width="721"/></a><a href="http://storage.ning.com/topology/rest/1.0/file/get/2769276913?profile=original" target="_self"><img width="721" src="http://storage.ning.com/topology/rest/1.0/file/get/2769276913?profile=RESIZE_1024x1024" class="align-full" width="721"/></a></p>
<p>The above are sampled in a DataTree of "paired cells" (based on connectivity data) meaning that you can create "doors"/openings between the cells/walls/whatever and put <strong>rats</strong> inside (avoid at any cost putting humans unless they are lobotomized).</p> https://naeimdesigntechnologi…tag:www.grasshopper3d.com,2017-04-17:2985220:Comment:17346572017-04-17T19:45:03.184ZMohamed Naeimhttps://www.grasshopper3d.com/profile/MohamedNaeimAbdelgalilIbrahim
<p><a rel="nofollow" href="https://naeimdesigntechnologies.wordpress.com/2017/01/29/3d-voronoi-cells/" target="_blank">https://naeimdesigntechnologies.wordpress.com/2017/01/29/3d-voronoi...</a></p>
<p></p>
<p>I made a custom tool to build 3D Voronoi, it might be useful as a start point </p>
<p><a rel="nofollow" href="https://naeimdesigntechnologies.wordpress.com/2017/01/29/3d-voronoi-cells/" target="_blank">https://naeimdesigntechnologies.wordpress.com/2017/01/29/3d-voronoi...</a></p>
<p></p>
<p>I made a custom tool to build 3D Voronoi, it might be useful as a start point </p>