The new NodeBox forum is live! Everything from support.nodebox.net moved here: sign in with the same email to pick up your old posts. Something not working? Write to forum-support@nodebox.net.
Could anyone kindly advise how to easily acquire a list of X and Y for a bunch of imported objects?
Is centroid a default way of obtaining a shape origin? Using lookup for that feels clumsy to me, but i'm currently seaching for the fastest and more optimized way.
Sorry if it's a stupid / obvious question. I haven't found anything in reference.
john
There are at least 3 different ways to derive an X,Y “origin” for an SVG shape:
• The upper left corner of the bounding box
• The center of the bounding box
• The first point of its path
From your screenshot it seems you have already found ways of getting the first two. Here is how I would do it:
• For upper left corner, do lookups of bounds.x and bounds.y. But you don’t have to concatenate them; just feed them into a “make_point” node.
• For center, use centroid.
• For first point, do a lookup on “points” and use the “first” node to grab the first point. In order to get the lookup to spit out a list of individual coordinates, use the Metadata menu to change its settings port from “value” to “list”. Then, so that the first node will take the first value of each shape instead of the whole collection of shapes, group the two nodes (lookup and first) into a subnetwork; that way they will fire once for each shape.
I made a quick network to demonstrate this. I imported an SVG of a four-by-four collection of triangles and ungrouped it. I then put 3 copies side by side and colored them red, green, and blue. Each copy uses a different interpretation of origin and rotates about that origin. I also plot the origin points as black dots.
I have attached the network, the svg, a screenshot, and a movie showing the rotations in action.