ected curve. Imagine some magic that allows you to create a List (as persistent data) out of these points and each time that you pick anther curve the slider that controls the position of the point is automatically set to the corresponding value . In fact Imagine Lists sampled in a data tree where branches are variations insofar exploited (where variation = one collection of your interactively placed points).Close GH go vacations and reopen the def: the data tree is still there. How to do that? I''ll ask THD, that is.
2. Make priorities: IF this is a brep thingy DON'T convert anything to mesh. IF is a mesh (meaning K for doing some relaxation) then all these are NOT required (Daniel does this for you: takes a "boxy" thingy and delivers a "relaxed" thingy [ thus all these Breo cones are off-topic]). Time for Soap_opera_V1A (soon). …
s this:
The centroid of a finite set of points in is
However the center of a polygon by decomposition is this.
The centroid of a plane figure can be computed by dividing it into a finite number of simpler figures , computing the centroid and area of each part, and then computing
Or this in general:
The centroid of a non-self-intersecting closed polygon defined by n vertices (x0,y0), (x1,y1), ..., (xn−1,yn−1) is the point (Cx, Cy), where
and where A is the polygon's signed area,
Shouldn't the [Polygon Center] use this formula instead, or clarify that the "center" given is the mean?
EDIT: Sorry to have posted this in VB, C# and Python Coding. I meant to post it in Errors, Bugs and Oversights. …
Added by Jesus Galvez at 12:52pm on September 22, 2013
List A:
{0;0} - contains breps A, B
{0;1} - contains breps C, D, E
{0;2} - contains breps F, G
List B:
{0;0} - contains breps H, I
{1;0} - contains breps J, K, L
and want to create a list all possible combinations:
{0;0}
{0;1}
{0;2}
{1;0}
{1;1}
{1;2}
or thinking in a matrix format:
I feel like this should be very simple but I am having trouble figuring it out! Any help would be appreciated.…
y combo of anchor points (although using all the peripheral points ... well ... that's a good starting point for your adventures in C# > get a tree: say x: branches and y: items and gimme all the points in the perimeter, he he).
2. There's nothing wrong with the 3dPDF (but I'll mail to you anyway) > maybe you use some archaic Adobe Reader build? Have you configured the Reader properly? Have you ever attempted to exploit a 3dPDF thingy in the past?
3. Most humorous: you mean in the Monty Python way? (WHAT a bunch of genius was that "group" ...).
4. Skype weekends: well , since the MotoGP season is over why not? (ALAS: due to an enormous conspiracy [by Honda] > Hero-Valentino > got the short end of the stick > all that because he kicked someone [is this a big deal?] > why should I live ? > Seppuku ASAP).…
lie in there.
However, when you look at the panel up above them, you can see, that all data is coming in at list item 1, and it's just alternating between x and y (and z in this case - no idea why)
Thoughts?…
dex number of eac point in list
neighbourData.Add(index(i), pathA)
'visitation value
neighbourData.Add(0, pathB)
Dim pathC As New EH_Path(index(i), 2)
For j As Integer = 0 To neighbours.Count - 1
Print(neighbours(j))
'neighbours indices
neighbourData.Add(neighbours(j), pathC)
Next
Next
'and this next phas is really hazy - i just sorted the data array above, it works but now im not sure how to call the recursive function
For i As Integer = 0 To pts.Count - 1
If counter(i) = True
Else
'Dim path As New EH_Path(i)
findClusters(pts(i), i, path, pts, neighbours, counter, gate, clusters)
End If
Next
Sub findClusters(ByRef ptA As On3dPoint, ByVal k As Integer, ByRef path As EH_Path, ByRef pts As list(Of On3dpoint), ByRef neighbours As list(Of Integer), ByRef counter As list(Of Boolean), ByRef gate As Double, ByRef clusters As DataTree(Of On3dPoint))
clusters.Add(ptA, path)
counter(k) = True
For j As Integer = 0 To neighbours.count - 1
Print(neighbours(j))
Dim ptB As New On3dPoint
ptB = pts(neighbours(j))
Dim distance As New Double
distance = ptA.DistanceTo(ptB)
If distance < gate Then
'If ptB hasn't been visited - you need integer number for this to access its place in the boolean list - rethink
If counter(neighbours(j)) = False Then
' findClusters(ptB, j, path, pts, neighbours, counter, gate, clusters)
Else
End If
Else
End If
Next
End Sub…
s the "Surface Populating" definition: I manage to populate my geometry over the surface, but after I bake it, I have to delete the boxes that define my components limits as well! Is there any way of populating and baking only the chosen component, without having to delete the boxes afterwards?
Secondly:
Basically: I am trying to cover a surface with two types of components [ an open one and a closed one] , which will be proliferated over my tubular surface according to the main sunlight direction.
1. I introduce the surface component.
2. I use "Divide Interval2" in order to have division into U and V.
3. i generate the target boxes [ "surfaceBox"] .
4. I use "Isotrim" ( same intervals) and "BRepArea" to find centroid of each area.
5. My "Curve" component introduces sun angle, with its "End Points".
6. I use "Vector 2Pt" to specify sun-light direction.
7. I want to measure the angle between sun-light and the surface normals, at the position of each component; after generating the centre points, I need the normals of each centre point to get the surface's points' UV, and "Evaluate" the srf at points.
8."Angle" and "Vector" components: I use them in order to evaluate the angle between the sun direction and the srf.
9. I convert this angle to degree by using a "Function" [ to see if the angle is bigger from the max.angle or not...]
10. Function "x,y" gives me boolean data.
11. Data become "Dispatch"ed...
12. Two "Morph" components , each one linked to one part of the "Dispatch" data, generate "closed" and "open" components over the srf.
The result should have been different types of components, based on the surface's curvature, diraction and sun-light direction...
I do not understand where the mistake is in this definition...
Thx in advance1
Spyros K.…
o otherwise we would design for you, any parametric approach needs a kind of idea before getting started.
The question is why is the building is optimized against wind and what does it mean and what does the user of the building benefit out of it.
…
B. It implements 2 algorithms, the first one being the recursive maze solver described here and the other one the A* search algorithm described here. I took the pseudocodes on the 2 links stated before and implemented them in C#. Further more I had to adapt the code so that it works in R3 (3d space) since they were all designed to solve problems in R2 originally. The maze is represented by a grid of points. The obstacles of the maze are also described by points. More precisely, the component takes the following data as input:
- list of Point3d objects representing the maze grid
- list of Point3d objects representing the obstacles
- start point as Point3d object
- end point as Point3d object
- grid dimensions i,j and k as int objects
Based on this input the solver stores the points into a 3-dimensional array of dimension i x j x k and performs the calculations. The component seems to work quite well as you can see on the screenshot below with mazes of small dimensions (the green balls are valid nodes for a path and the pipe is the actual path). With small dimensions I mean not more than 3375 grid points (i,j,k <= 15).
Now here comes my problem. For my work it would be really interesting to apply the solver to much larger mazes. I'm talking about dimensions of 1'000'000 (i,j,k <= 100). However my Rhino Installation suffers a spectacular collapse if I go beyond 3375 grid points.
I'm assuming that the worst case complexity of the maze solver for a 2d maze is O(n*log(n)). The one of A* is O(n log n + m), however I'm not sure what m is in this case. Since I'm dealing with another dimension here I guess the complexity is larger by one order of magnitude.
To all computer science savy people here, do you think there Is a way to tackle this problem? Is it possible to adapt the program that it works more efficiently? Should I only feed numeric data instead of Point3d objects? (I'm assuming that only references are passed but not actually the point objects but correct me if I'm wrong).
I would be very greatful for hints and help. In this sense I would like to open an inspiring discussion about the topic, any ideas welcome! Also please feel free to use the component for whatever purpose you might find useful and to develop it further...
Thanks and Best
Hjalmar
…