Popular Post vugie Posted August 2, 2009 Popular Post Report Share Posted August 2, 2009 It's just tu pun together some pics from this topic and little bit more... So we already saw that wires may go diagonally: Then that they may have almost any shape: Michael showed us how execution dots propagates on such wires: Link Sources for creating such wires here. Now I'm getting crazy. Sit down, fasten your seat belts, hold your breatch and watch this. Although it does not run too fast (no more than 10 fps on my computer) but Jing slowed it down even more, so in real everything happens much more smoothly. If you would like to play with this: controls or nodes which have labels are fixed to backgroung. Don't change damping too much. Don't put too much objects on BD. Always wire both inner and outer terminals in tunels. Sources attached. spring-wires.zip 5 Quote Link to comment
Yair Posted August 2, 2009 Report Share Posted August 2, 2009 No matter how good you are at ASCII art, I bet you can't do that in visual studio. Quote Link to comment
vugie Posted August 2, 2009 Author Report Share Posted August 2, 2009 No matter how good you are at ASCII art, I bet you can't do that in visual studio. Ages ago in DOS ancient timesthere was a virus called "falling letters": Quote Link to comment
unicorn Posted August 2, 2009 Report Share Posted August 2, 2009 And with the first graphical UI you had pixels droping like snowflakes. I had it on an Commodore Amiga Computer but as a gag not as a virus. Nowadays with LabView Scripting SubVIs can drop to the bottom of the window, melt like icescream in the sun while the wires hang around like spilled spaghetti. And the best is the VI is still working... Or the VI on the BD become Helium filled while the wires hang around like garlands. Or some added inertia which let them follow a window movement with some delay... Quote Link to comment
Francois Normandin Posted August 2, 2009 Report Share Posted August 2, 2009 Or some added inertia which let them follow a window movement with some delay... I like this inertia thing... SubVIs could hang by their wires, giving them a larger bend if the subVIs have more mass (VI Metrics). Quote Link to comment
dannyt Posted August 3, 2009 Report Share Posted August 3, 2009 I am beyond words It time for me to lay down me mouse and crawl away from LabVIEW my little head hurts now Still I see a new edition of peter Blume's LabVIEW Style Book will be needed Dannyt Quote Link to comment
vugie Posted August 3, 2009 Author Report Share Posted August 3, 2009 I like this inertia thing... SubVIs could hang by their wires, giving them a larger bend if the subVIs have more mass (VI Metrics). Also elasticity of the wires may be dependent on their thickness. Or amount of data they carry I just realized that word "wired" is not the same as "weird", which I really meant... Quote Link to comment
Francois Normandin Posted August 3, 2009 Report Share Posted August 3, 2009 Also elasticity of the wires may be dependent on their thickness. Or amount of data they carry And don't forget about resonance! Wire a signal generator and see if you can get the wire to resonate when you move the subVIs back and forth. Quote Link to comment
crossrulz Posted August 3, 2009 Report Share Posted August 3, 2009 Newton's Cradle anybody? Quote Link to comment
Popular Post vugie Posted August 4, 2009 Author Popular Post Report Share Posted August 4, 2009 Newton's Cradle anybody? No problem. [watch] (few other simulations included in this movie) It grew up into quite serious real time dynamics simulator with Euler integration scheme, non-linear spring equations, collision engine, independent display and calculation rates... Few details for those wanting to play little bit (performance is much better than in previous version): Only Nodes and Terminals may be movable (in terms of LV class hierarchy) - so no constants and no flat sequences Masses are proportional to object size and scaled with "Mass ratio" parameter - do not set it to 0 "force factor" scales wires elasticity Damping is applied to wires only (not to bouncing). Very high damping will make wires almost stiff Gravity is in pixels/s^2. y axis points down dt is integration step size in seconds. Fractions of seconds make sense. Smaller is (almost) always better - particularly for collisions fps is display only frame rate Have fun spring-wires2.zip 3 Quote Link to comment
Francois Normandin Posted August 4, 2009 Report Share Posted August 4, 2009 Awesome! Quote Link to comment
vugie Posted December 15, 2009 Author Report Share Posted December 15, 2009 (edited) OK, I picked up some gloves thrown in this topic and here is Weird Wires RCF Edition: And little video. Rounding corners was quite challenging... This is for you, Jim License for this code is DWYL (do whatever you like). Weird Wires RCF Plugin.zip Edited December 15, 2009 by vugie 1 Quote Link to comment
Wire Warrior Posted December 15, 2009 Report Share Posted December 15, 2009 OK, I picked up some gloves thrown in this topic and here is Weird Wires RCF Edition: And little video. Rounding corners was quite challenging... This is for you, Jim License for this code is DWYL (do whatever you like). Excellent yet another peice of code to taunt the text based programmers at the office with! Jason Quote Link to comment
X___ Posted March 10, 2012 Report Share Posted March 10, 2012 I have installed the RCF plugin and it is quite amazing. However, I have discovered this little bug. In this situation: Choosing "Round Corners" will result in this: No other "Weird Wire" choice results in an error, so I suppose that there is some weird calculation somewhere, although I could not spot one after a cursory glance at the code. Quote Link to comment
vugie Posted March 12, 2012 Author Report Share Posted March 12, 2012 Oh, no... You forced me to dig in old, rusty and not commented (!!!) code, which was made only for fun. My first shot is that I don't handle the case of an endpoint which is also a junction. Select wire segment which is selected on your first picture, tap right arrow once an it should work again. Feel free to correct this bug as scripting exercise 1 Quote Link to comment
X___ Posted March 13, 2012 Report Share Posted March 13, 2012 (edited) Oh, no... You forced me to dig in old, rusty and not commented (!!!) code, which was made only for fun. My first shot is that I don't handle the case of an endpoint which is also a junction. Select wire segment which is selected on your first picture, tap right arrow once an it should work again. It does indeed work. Nice workaround. Feel free to correct this bug as scripting exercise Well that would require me to get into scripting first! But if I ever did and worked on it, I think there is one thing I'd tried to improve on this otherwise amazing toolbox: I'd make sure that wires don't originate necessarily from the "center" of the object, but rather from a natural starting point, such as one of the object's borders, for instance. Kudos anyway! PS: actually there is one more thing, which I think would be a nice addition: when modifying a "weirded" wire, it would be nice to reset the former "weirding" in order to avoid having crooked connections. "Cleaning up" the wire is not a very reliable solution, as NI's "cleaning" algorithm has some uncontrollable tendencies to whip wires around. PPS: and this: allow selecting multiple wires and apply the "weirdiness" to all selected branches. Edited March 13, 2012 by X___ Quote Link to comment
vugie Posted March 14, 2012 Author Report Share Posted March 14, 2012 ..I'd make sure that wires don't originate necessarily from the "center" of the object, but rather from a natural starting point, such as one of the object's borders, for instance. "Natural starting point" is not as obvious as it seems to be. We have to distinguish visual starting point and real starting point. Real one is always in the center of terminal (rectangle visible on connector pane). Visual is in the place where it goes out from below the icon. The little piece between these points is not visible, but it is always present and it influences behavior of the wire when you move icon around. If you want to determine nice "natural starting point" (in visual terms), you have to consider also shape of the icon - as it may be smaller then 32x32 square. Shape of the icon is determined be "outermost" spot of white pixels (it becomes transparent). So determination of object's borders is not so trivial... PS: actually there is one more thing, which I think would be a nice addition: when modifying a "weirded" wire, it would be nice to reset the former "weirding" in order to avoid having crooked connections... Doable. We have to store original shape somewhere (tags are natural place for such a data) and to introduce "Revert shape" command. PPS: and this: allow selecting multiple wires and apply the "weirdiness" to all selected branches. Doable and simplest of features you proposed. Another nice point for scripting practice 1 Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.