Integer = 0 To 9
val *= 2
lst.Add(val)
Next
Since val is a ValueType, when we assign it to the list we actually put a copy of val into the list. Thus, the list contains the following memory layout:
[0] = 2
[1] = 4
[2] = 8
[3] = 16
[4] = 32
[5] = 64
[6] = 128
[7] = 256
[8] = 512
[9] = 1024
Now let's assume we do the same, but with OnLines:
Dim ln As New OnLine(A, B)
Dim lst As New List(Of OnLine)
For i As Integer = 0 To 9
ln.Transform(xform)
lst.Add(ln)
Next
When we declare ln on line 1, it is assigned an address in memory, say "24 Bell Ave." Then we modify that one line over and over, and keep on adding the same address to lst. Thus, the memory layout of lst is now:
[0] = "24 Bell Ave."
[1] = "24 Bell Ave."
[2] = "24 Bell Ave."
[3] = "24 Bell Ave."
[4] = "24 Bell Ave."
[5] = "24 Bell Ave."
[6] = "24 Bell Ave."
[7] = "24 Bell Ave."
[8] = "24 Bell Ave."
[9] = "24 Bell Ave."
To do this properly, we need to create a unique line for every element in lst:
Dim lst As New List(Of OnLine)
For i As Integer = 0 To 9
Dim ln As New OnLine(A, B)
ln.Transform(xform)
lst.Add(ln)
Next
Now, ln is constructed not just once, but whenever the loop runs. And every time it is constructed, a new piece of memory is reserved for it and a new address is created. So now the list memory layout is:
[0] = "24 Bell Ave."
[1] = "12 Pike St."
[2] = "377 The Pines"
[3] = "3670 Woodland Park Ave."
[4] = "99 Zoo Ln."
[5] = "13a District Rd."
[6] = "2 Penny Lane"
[7] = "10 Broadway"
[8] = "225 Franklin Ave."
[9] = "420 Paper St."
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
Added by David Rutten at 6:26am on September 9, 2010
onsecutive points at the same height then your 'Break at discontinuities' component eliminates the middle point completely and then the 'Interpolate Curve' component gives a much bigger bump in the wrong direction. This was enough to get curves to meet from opposite sides.
I fixed this by changing the heights to 1.1 or 2.9, rather than 1.0 and 3.0, but it took a little while to work it out! Sigh.
I attach a new version. But I actually preferred it as it was before. See what you think!
Bob
p.s. in the first list, elements 11, 12, 23 and 24 go from 1 to 3; elements 17 and 18 go from 3 to 1. In the second list, elements 6, 17, 18 and 29 go from 1 to 3; elements 12 and 23 go from 3 to 1. Given the above fix, these can be easily seen.…
Added by Bob Mackay at 10:40pm on November 24, 2015
etc.
Group 2 - 1, 6, 11, 16, 21 etc.
Group 3 - 2, 7, 12, 17, 22 etc.
Group 4 - 3, 8, 13, 18, 23 etc.
Group 5 - 4, 9, 14, 19, 24 etc. "
except in data, the branches start at 0, so 'group 1' is branch 0
as for the order of your points, that depends on the input prior sorting...
yrs …
ents will do or which components will be available.
My problem arises because I want to obtain a list such as the following:
{{6, 5, 4, 3, 2, 1, 2, 3, 4, 5, 6}, {5, 6, 5, 4, 3, 2, 1, 2, 3, 4, 5}, {4, 5, 6, 5, 4, 3, 2, 1, 2, 3, 4}, {3, 4, 5, 6, 5, 4, 3, 2, 1, 2, 3}, {2, 3, 4, 5, 6, 5, 4, 3, 2, 1, 2}, {1, 2, 3, 4, 5, 6, 5, 4, 3, 2, 1}}
Which displayed as a matrix is:
If it were possible to combine GH operations (series, shift list, replace string...) with matrices I think it would be quite powerful. A matrix to list component like those available on scientific calculators, would then translate the matrix to list.
For me, matrices come in handy when dealing with surface patterns.
…
Added by Jesus Galvez at 6:46am on November 26, 2012