Hi!
If I have 3 points with @myValue:
pt0: 1.5
pt1: -12.89
pt2: 561.8
… and I want to find the order from smallest to biggest value and set that in attribute i@myOrder so it gives me:
pt0 @myOrder = 2
pt1 @myOrder = 1
pt2 @myOrder = 3
I could do it with a bunch of IF statements but I'm sure there's an easier way. Any idea?
-Olivier
find order from smallest to biggest value
1333 7 0- olivierth
- Member
- 1010 posts
- Joined: April 2017
- Offline
- olivierth
- Member
- 1010 posts
- Joined: April 2017
- Offline
…Actually, I over-simplified my example.
My situation is this. I have a triangle and I managed to find the angle at each point and placed those values in @aglA, @aglB, @aglC. From there, I need to find smallest to biggest value and end up with:
pt0 @myOrder = 2
pt1 @myOrder = 1
pt2 @myOrder = 3
…since each value is stored on ALL points, I don't know how to proceed…
-Olivier
My situation is this. I have a triangle and I managed to find the angle at each point and placed those values in @aglA, @aglB, @aglC. From there, I need to find smallest to biggest value and end up with:
pt0 @myOrder = 2
pt1 @myOrder = 1
pt2 @myOrder = 3
…since each value is stored on ALL points, I don't know how to proceed…
-Olivier
- BabaJ
- Member
- 2042 posts
- Joined: Sept. 2015
- Offline
- olivierth
- Member
- 1010 posts
- Joined: April 2017
- Offline
- olivierth
- Member
- 1010 posts
- Joined: April 2017
- Offline
- olivierth
- Member
- 1010 posts
- Joined: April 2017
- Offline
AH!
Found it!
…
// find angles using each vectors
float aglA = acos(dot(vab, vac));
float aglB = acos(dot(vba, vbc));
float aglC = acos(dot(vca, vcb));
// set point value from angle A, B, C
f@angle = 0;
setpointattrib(0, “angle”, 0, aglA, “set”);
setpointattrib(0, “angle”, 1, aglB, “set”);
setpointattrib(0, “angle”, 2, aglC, “set”);
Found it!
…
// find angles using each vectors
float aglA = acos(dot(vab, vac));
float aglB = acos(dot(vba, vbc));
float aglC = acos(dot(vca, vcb));
// set point value from angle A, B, C
f@angle = 0;
setpointattrib(0, “angle”, 0, aglA, “set”);
setpointattrib(0, “angle”, 1, aglB, “set”);
setpointattrib(0, “angle”, 2, aglC, “set”);
Edited by olivierth - Sept. 26, 2018 14:24:49
- BabaJ
- Member
- 2042 posts
- Joined: Sept. 2015
- Offline
- olivierth
- Member
- 1010 posts
- Joined: April 2017
- Offline
-
- Quick Links