R Light Studio - Georg Sochurek Schnelle Beleuchtungsoptimierung mit HDR Light Studio: HDRI-Environment-Maps in Echtzeit ganz einfach erstellen und bearbeiten 10:45 - 11:45: C4D und Adobe Photoshop - Christoph Schindelar Prototyping für einen Wintersportartikel-Hersteller mit Cinema 4D 12:00 - 13:00: Autodesk 3ds max - Daniel Daghofer Software für 3D-Modellierung und Animation 13:30 - 13:30 Pause 13:30 - 14:30: MODO - Mathias Zellerhof Produktdesign leicht gemacht - mit modo 701 von TheFoundry 14:45 - 15:45: Rhino 5 - Dipl. Ing. Fabio Palvelli Advanced NURBS-Modelling mit Rhino 5 für Designer und Architekten 16:00 - 17:00: Autodesk Maya - David Wuchte Umfassende 3D-Animationssoftware 17:15 - 18:15: 3D Coat - Christoph Schindelar Feinmodellierung (Sculpting) & Design von Handy-Designelementen mit 3D Coat Zusätzlich haben Sie die Möglichkeit in den Pausen / im Anschluß div. Hardware zu testen / anzusehen: Monitore: CG Serie von EIZO (inkl. Swing Sensor/Colorimeter) EIZO Foris mit EIZO Spyder EIZO Touchscreen NEC Spectraview Reference inkl. X-Rite Colorimeter Stiftdisplays: WACOM Cintiqs 3D Mäuse: SpaceMouse Pro SpacePilot Pro…
orged a meter component in place to get to read the data.
GH Python lists me spring 3 xy and z format [x1, x2, x3,...] [y1, y2, y3,...] and [z1, z2, z3,...]
The VB code is simple: (A = CDbl (x))…
Added by Rémy Maurcot at 2:39am on October 14, 2011
pecific character it encounters in the file a specific curve would be created (a line with a particular length/orientation associated with that specific character) whose starting point is on the end of the last previous line. here is simple action list:
read first character in txt file
identify character (number 20 in attached example)
insert line associated with character (1" horizontal line)
read next character in txt file.
identify character (number 8 in attached example)
start curve (specific curve associated with the number 8 (1.25" vertical line)) on the end of the previous line.
read next character in txt file.
identify character (number 5 in attached example)
start curve (specific curve associated with the number 5 (.25" horizontal line)) on the end of the previous line.
etc
loop repeats till end of txt file.
i am good with everything else (linking the file, building curves on the ends of things, creating line parameter w/ persistent data, etc) but I'm having a problem with the "if/then" nature of the project. I haven't found a component that has this sophistication yet... I've tried the equals component that compare lists and identify true/false scenarios and the f(x) along with dispatch to create a curve if a single situation occurs (like if x>3, then make a circle) but what about the next character?
I am wondering if I should do this in C+ (which I also don't know) but would rather create this in grasshopper.
See attached for example grasshopper file and txt file.
I would really appreciate any help you can offer - Thanks!!!
// jon…
Added by jon kuzmich at 11:14pm on September 14, 2013
o express my gratitude. I've been experimenting with your definitions (and still am), but let me extend my question.
Actually what I'm trying to achieve, is to recreate another project by Andrew Kudless, the spore lamp (I mentioned the Chrysalis at the beginning just because of the animation, which wasn't included in the Spore Lamp presentation).
Basically the spore lamp seems to me to be something like a preliminary study to the Chrysalis III project (I think it's a similar approach).
Andrew stated on his site that he used kangaroo for this project, so the Spore Lamp consists in my opinion either of a relaxed voronoi 3d diagram (b-rep, b-rep intersection) on a sphere which then has been planarized, or more likely it is a sort of relaxed facet dome.
The trick is to:
1. obtain a nicely-balanced voronoish diagram (or facet dome cells)
2. keep each cell/polyline planar (or force them with kangaroo to be planar) in order to move scale and loft them later on.
Here is what I have by now. (files: matsys spore lamp attempt)
That's the closest appearance that I got so far (simple move scale and loft of facet dome cells with the amount of transformations being proportional to the power of the initial cell area: bigger cell = bigger opening etc.) - with no relaxation of the diagram. But it's obviously not the same thing as the matsys design.
Here are some of my attempts of facet dome relaxation, but well, it certainly still not the right approach, and most importantly I don't know how to keep or force the cells to be planar after the relaxation.
1. pulling vertices to a sphere - no anchor points. That obviously doesn't make sense at all, but the relaxation without anchor points gives at the beginning a pattern that is closer to what I am looking for. (files: relaxation 01)
2. pulling vertices to a sphere - two faces of the initial facet dome anchored (files: relaxation 02)
3. pulling vertices to the initial geometry (facet dome) no anchor points (files: relaxation 03)
The cell pattern of the lamp kinda looks like this:
you can find it here: http://www.grasshopper3d.com/forum/topics/kangaroo-0-095-released?g...
Done with Plankton (of course without the "gradient increase" appearance), but in fact not, I took a look at Daniel Parker's Plankton example files, and it's not quite the same thing. Also the cells aren't planar...
The last problem is that during the relaxation attempts that I did, the biggest initial cells became enormous, and it's not like that in the elegant project by Andrew Kudless, that I'd like to achieve.
So to sum up:
Goal no 1: Obtain an elegant voronoi /facet dome cell pattern on a sphere (or an ellipsoid surface, whatever).
Goal no 2: Keep the cells planar in order to be able to loft them later and obtain those pyramidal forms, and assemble easily
Any ideas? Or maybe there's a completely different approach to that?…
ou mean by 'Activate Direct Rhino Modifying'. Perhaps you could expand?
I like the idea of mixing and matching script and 'direct' modeling. There seems to be a lot of potential platforms for this:
1. Implict History: Is there a way for GH to read the direct modifications (with History activated) and translate this as a component (or cluster of components?)? IH seems to record the UI events and the associated elements. GH would need to write as well as read the IH info, in order to preserve as much flexibility downstream as possible. You mentioned Houdini. H seems to record all 'implicit' or direct mods, done via the CAD mouse-based UI, in its network graph. Maybe, this should be captured in the IH cluster/component mentioned above.
2. RhinoParametrics: RP has done a lot of work to intercept and translate Rhino commands into its version of Implicit History. Seems to be centred on points, which makes sense as so much of the traditional 'dumb' way of inputing CAD info is based on mouse clicks on screen (points) predicated by commands, active locks, workplanes etc.
3. Gumball: Rubberduck's use of the new Gumball tool to capture 'direct' modeling inputs thru the Gumball points to a good source for capturing this kind or input, that is related to the 'macro recorder' approach taken by RP and IH.
4. The new Geom Cache component seems to be able to preserve a lot of info about the baked object. There may be even a way to read tagged info generated both GH baked with the "reference" object, and external to GH (by IH, the gumball or even third party apps like RP).
Would be interesting to know what kind of info is 'preserved'. Houdini seems to have a pretty consistent approach to geometric data, that seems to allow parallel NURBS/subD/mesh versions of the geometry. It also seems to have a coherent heirarchical approach to vertices/edges/loops/faces etc that allows the subelements to be arbitarily grouped for 'direct' modeling, and still be part of a procedural script.
I guess the polygon / mesh approach to geometry lends itself to this. If all the procedural commands/components all understand mesh geometry in either vertex, edge, face format, then combining direct and script modeling is doable in transparent way?
In your example above, the Geo Cache node 'flattens' the object to dumb geometry which is manipulated using Rhino, then used as a Reference object, in the next section of the graph. I guess there is nothing to stop the follow on components reading the precedenting graph for parameters, for additional intelligence?
Does GH 'get' or 'put' parameter data?
…
hopper and the GH file.
2. There is a drop down menu at the top of Pure Data that reads "Media". Click on "Midi". If your device connection is working, you should see it show up as an option. Set the device to MIDI in. You don't really need to set a MIDI out unless you are planning to send messages back to the device (not sure why you would want to).
3. The boxes labeled "ctlin" with a number are the Control Change in's. In Pure Data go to the "Edit" menu and click on "Edit Mode". Click on one of the "ctlin #" boxes and change the number to match the Control Change number of your physical controller. Mine starts with 5 in the upper right and goes to 65. Each control change number shows up on the display window of my device when I use it which made it easy.
4. Continue this process for all your controls. Delete the unneccesary "ctlin #" boxes by selecting them with a fence and clicking "delete". When you hover over one of the wires you should see and "x". Press the "backspace" key to delete it.
5. Now go down to the "pack f f f ..." box. There should be as many "f" or "floats" in that box as there are you number of controllers. Delete the remaining "f".
6. Next look at the box below that reads "send /0...". Make sure to keep the "/0". If you delete the "/" it will crash Grasshopper. Change the number "5" to match your first control change number. Leave the $numbers alone. You'll want to keep them sequential. Continue change the control change numbers to match all of yours. The $numbers should match the order in which you wired each controller to the "pack f f f..." box.
7. For testing purposes hover over the input on the upper let of the "print" box and connect it to the out of the "send" box. If everything is mapped correctly, working properly, and you go back to the "main" PD window you should see a list of all controllers will a value (0 to 127) next to it. As you turn a knob, the value next to the control change number will increase from 0 to 127. This will give you a good indication of whether or not everything is working and if you mapped it correctly.
8. Click on the "connect OSC" box. You might need to exit out of "edit mode" and back to "performance" mode in the PD canvas.
9. Go To Grasshopper. If everything is working you should see the Panel read "new message" when you turn a knob. At this point it should be pretty obvious how to modify the Grasshopper components. I've tried to keep everything as consistent as possible. Since I filtered out the "/0", the "explode data treat" component starts at 0, the numbers are shifted down by 1.
I just left the IP address, etc. alone on the gHowl UDP component. Just make sure the "port number" matches the OSC port number on the send in Pure Data. If you crash, you may need to choose a new number.
Hope that helps. Let me know if you have any questions. If your computer is not recognizing your midi controller, you may need to install "Midiyoke". I did at first, but it turns out I didn't need it after all.
Best of luck.
…
grout lines, a tile surface and tile perimeter poly line). I then use that as a Mesh (from Rhino) in the second definition.
2. I can tile out the mesh surface and rotate all the tiles in 90 deg. increments.
To get what I wanted. I took the Mesh and have copied it in series to make a grid. I can then control the dimensions of the grid. X and Y extents. I can also rotate the tiles around their centers.
The spacing of the grid is set from an edge curve of the tile (or mesh). This sets the size of the squares in the grid themselves.
See definition, images and Rhino 4 File, to give the definitions a shot. I have labeled how to use them.
My question -- how can I randomly rotate squares in my grid? I would like the deg of rotation to be random and also which tiles they are.
Also how might I rotate (every other tile) for example? So that I can control the pattern more?
Thoughts?
Thanks!
…
3D chart, it appears an error:
2) The problem with the display of the point in the 3D graph persists. Infact if I try to display the point of (x,y)=(24.05,0.006182)
in the rhino 3D chart it appears in a incorrect position because the Y axis is not alligned:
I can fix the starting value of humidity ratio with this:
So (as you can see) it is placed in the right place:
Francesco
…
data. This is then feed into a code that creates overlapping sub surfaces for using in a panelling script.
Current WIP Workflow:
(Written)
Select point on surface for repulsion core
Calculaute on surface closest points within defined distance.
Evalualte surface at repulsion core to get plane
Create 2 pt vectors between core and selected point
Check angle between X vector on plane and vector on Plane.
Define which quadrant they are in by checking if within domains 0 to 90 , 90 to 180 etc. So to define if the calclation should be a +,+ calcuation or +,- calcualtion etc when it comes to calculating the new UV coordinates
Calculate bounds/domain from shortest to longest distance across surface from start point to points
(To be written)
Calculate depending on distance to point how far it must move on surface.
Move point on surface by changinging UV numbers depending on both quadant and distance from core.
Weave new moved points back into original Surface divide points.
Though all this seems alot of code for some thing that should be quite simple it would have though.
I have had a look at Kangroo but could not get it to work but that maybe just me not knowing how to use it fully yet.. So i am opening it up to the floor for your thoughts i'll continue though the current workflow unless someone cracks the code before me.
I have posted a section of the file explained above..(all the panelling etc has been removed to make it more simple.)
Thanks
Matt…
Added by Matt Gaydon at 10:40pm on January 17, 2011
work when i finished, saying as follows:
Runtime error (MissingMemberException): walker instance has no attribute 'x' Traceback: line 21, in step, "<string>" line 34, in script
the code is as follows:
import rhinoscriptsyntax as rs import random as r
r.seed(seed)
#class class walker: def _init_(self): self.x = 0 self.y = 0 def point(self): shape = rs.AddPoint(self.x, self.y, 0) return shape def step(self): choice = r.randint(0,3) if choice == 0: self.x = self.x + 1 elif choice == 1: self.x = self.x - 1 elif choice == 2: self.y = self.y + 1 else: self.y = self.y - 1
#time w = walker()
pList = [] for t in range(time): w.step()
pList.append(w.point()) a = pList
can anyone help me figure it out?
thanks
file attached
grasshopper version 0.9.0064…
Added by Chunwei Zhang at 3:37am on January 29, 2014