Nodebundle for playing with nodes
 1  …  1682-1701  1702-1721  1722-1741  1742-1761  1762-1781  …  1842-1859
Thread Split: Some posts in this thread have been moved here

Previous
Next
 From:  bemfarmer
7777.1722 In reply to 7777.1721 
Looking at hoopsnake may help. (?)

Google search of "hoopsnake examples"

Laying bricks example pdf:
https://www.researchgate.net/publication/332834996_Loops_in_Grasshopper

https://www.youtube.com/watch?v=gpv5prTmcjo

- Brian

A processed component gets feed back into the "start" of the node program, with some termination method...

(cannot say that I understand it. It would be nice to identify the inputs and outputs of Karsten's program, and compare with the hoopsnake inputs and outputs...(or the other two methods).
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Karsten (KMRQUS)
7777.1723 In reply to 7777.1721 
Hello James,

busy job, mother is gone - weather is good, beer is cold and the liver grows with its tasks - that's life.

Nevertheless - Loop.
The Loop implementation is very basic and limited to one loop, because there is only one array for storing the feedback data. You can find the declaration in basicFunctions.js in the first lines for numbers points and objects.
With this arrays is the feedback realized so you don't have to wire back something in the canvas - by the way, it's also not possible like in GH.
How it works:
The LoopStart node takes the initial data to the initial connection- a numarray, points or objects - you can set it with the RMB. At the Trigger input you have to put a cycled quartz node that kicks the process again and again. In the first cycle LoopStart takes the initial data and put it to the output. You have to take now this data, do someting with it and give them to the LoopEnd. Loop End stores them in the mentioned array. In the following cycles loopStart checks if it is a first cycle or not - if not it takes the data from the array. It is possible to RESET the node by RMB. This would run now forever - so we need also a termination condition that stops the manipulation of your looped data. So you have evaluate something from your data - compare someting or get the number of object ... and feed the result in the Run input of the LoopEnd node. If you put in a 1 here, the data will be put back to the LoopStart otherwise not and the manipulation stops or better the manipulation cycle takes allway the same data.


I've took my old post to explain it on this example:
http://moi3d.com/forum/index.php?webtag=MOI&msg=7777.1382
Try GetInTouch.nod.
Here is the start object a small cone. LoopStart takes it and put it to the out. Then the cone is moved a little bit. With a intersection node I check if the objects create a clash. This is my termination criteria. So no Intersection - no Objects. I take the Length of the objectlist and check if it is 0, If yes the process starts again with the new position of the cone. If a clash is detected the process stops and with a tolerance of the movement I brought the cone in touch with the sphere.

I Hope you can do something with it - allways a pleasure to see your results!

Have a nice day
Karsten
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  James (JFH)
7777.1724 In reply to 7777.1723 
Hello Karsten,

Thanks so much for getting back to me.

I have almost got it work, but I'm not sure if recursion is possible
because the end result of a transformation (in this case: scale by 0.5)
does not replace initial object.



Another problem I have encountered is that my nodes do not have object input/outputs.
See in image above. The dark nodes are loaded with your nod file, while the light ones
are those inserted from my node menu.

I tried reinstalling the posted files (loop.js & basicFunctions.js), and quitting/reopening MoI3D/NodeEditor; but the issue persists....curious!
Any idea what could be causing this?

Have a great weekend,
James
https://www.instagram.com/nodeology/

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Karsten (KMRQUS)
7777.1725 In reply to 7777.1724 
Hello James,

in short, because I have an appointment now. Try right click on the node to switch to objects and think about switching the compare node to a|b. I'm not sure what the result should be. Maybe more in the evening (CET).

Have a nice day
Karsten
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  James (JFH)
7777.1726 In reply to 7777.1725 
UPDATED

Thanks Karsten,

How profoundly stupid of me not to have checked to see if the node had alternate modes.

I was trying to make an H-Tree Pattern, only as a first step in exploring recursive patterns.
just as Wayne has done here: http://moi3d.com/forum/index.php?webtag=MOI&msg=7777.1702

However, this would only be a starting point; I would like to explore a broader scope of recursive patterns.

Thanks again
James
https://www.instagram.com/nodeology/

EDITED: 1 Aug 2020 by JFH

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Message 7777.1727 deleted 1 Aug 2020 by WN

Previous
Next
 From:  bemfarmer
7777.1728 
So there is only one "loop", but the loop can be used for multiple cycles. (?)
Nesting of loops?

- Brian 3+ years
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  WN
7777.1729 In reply to 7777.1724 
Hi, James.
Example of using the "Loop Start" and "Loop End" nodes.

EDITED: 1 Aug 2020 by WN


Image Attachments:
Size: 331.1 KB, Downloaded: 62 times, Dimensions: 1920x1080px
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Message 7777.1730 deleted 1 Aug 2020 by WAYNEHILL5202

Previous
Next
 From:  wayne hill (WAYNEHILL5202)
7777.1731 In reply to 7777.1729 
Hi WN,

Welcome to the forum.

Wayne
https://www.instagram.com/waynejhill/
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  WN
7777.1732 In reply to 7777.1731 
Hi Wayne.

Thanks!
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  James (JFH)
7777.1733 In reply to 7777.1730 
Wayne,

Yes exactly, but as I said "only as a first step in exploring recursive patterns"
I have updated my earlier post with link to your posted image.

Brian,
Yes exactly! "Nesting of loops".

WN,
Welcome & thanks for the attachments.
They are not what I'm looking for, but I hope these are the first of many posts
of your node experiments - playing with nodes.

Thanks to all of you,
Have a great weekend,
James
https://www.instagram.com/nodeology/

EDITED: 1 Aug 2020 by JFH

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  James (JFH)
7777.1734 In reply to 7777.1725 
Hello Karsten,

This may not help with my particular requirements, but as a first step in that direction,
if "LoopEnd" node was inline with the "Output" node rather than branched off prior
with "clone" node, then each iteration could be recorded and if the option selected, outputted.

Does that make sense?

James
https://www.instagram.com/nodeology/


Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Karsten (KMRQUS)
7777.1735 In reply to 7777.1734 
Hello James,
yep! Maybe a solution for the problem not to loop all data again. The loop stuff is only a q'n'd' draft and it took a year that someone was asking for. So I've never thought about it in the past again. I had to look twice to understand what I have done here;-)
Maybe we need a second array to store and push collected data? I'm not sure how we can realize it.
Any idea is wellcome!

A nice day to all
Karsten
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  WN
7777.1736 
NE -> Gordians_Knot_Puzzle.






  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Karsten (KMRQUS)
7777.1737 In reply to 7777.1734 
Hello James,

I'm trying to find a solution at the moment for the loop stuff - difficult, because no time and written no code since one year. By the way - Could someone explain me nested loops??? Loops in loops?


Not finished, but a first step for an experiment. Only one loop at the moment (think about a solution), but a cumulated output.

Only for experiments!

A nice day to all
Karsten

p.s.: @WN -it seems you have fun!

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  James (JFH)
7777.1738 In reply to 7777.1737 
Karsten,

Thank you for getting back to me.

The new loopEnd node looks promising.

It was clever to use splitPt - ptExt to strip out the rotational data from the point instances.

I repurposed your wiring to do a "drunken walk" (a staple introductory exercise in computer graphics).

A video can be found here:
https://www.instagram.com/p/CDi5Uw1J_5s/

nod file attached
Nested Loops

Nested loops are loops within loops...this video gives a clear description:
https://www.youtube.com/watch?v=1c1_TMdf8b8

I'm not sure how this may work with nodes. I'll see if I can build something.

Thanks again,
James
https://www.instagram.com/nodeology/

EDITED: 6 Aug 2020 by JFH

Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Karsten (KMRQUS)
7777.1739 In reply to 7777.1738 
Hello James,
loop in a loop, not really a surprise - but I didn't know that it is called nested loops:-)
The Problem here:

- I have to use global variables that LoopEnd and LoopStart can exchange informations - at the Moment only one with a fixed Name is present
- I'm not sure what I should use for multiple ones (Maps, sets, or named ones)

- I'm not sure how the NE reacts to multiple timers? Is it neccesary?

Some experiments have to be done the next time.
And thank you for the example - I will try it in the evening!

Thank you
and
have a nice day

Karsten
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  WN
7777.1740 
Fun start fun!































  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Frenchy Pilou (PILOU)
7777.1741 
A cool one is this

EDITED: 6 Aug 2020 by PILOU

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All

 

 
Show messages:  1  …  1662-1681  1682-1701  1702-1721  1722-1741  1742-1761  1762-1781  1782-1801  …  1842-1859