MoI discussion forum
MoI discussion forum

Full Version: Parametric design in MoI?

Show messages:  1-5  …  206-225  226-245  246-265  266-285  286-305  306-325  326-345  …  906-912

From: Karsten (KMRQUS)
9 May 2016   [#266] In reply to [#263]
p.s: The second described situation is our good old gimbal lock ...
From: Max Smirnov (SMIRNOV)
9 May 2016   [#267]
Pilou, Brian
I think it's not a good idea to put all words in one sorted list.
It would be better if we make five separate list (as in the russian translation):
1. Main window interface (Save, Load etc )
2. Context menu (Add Node, Colors, Clone, Red, Green ... )
3. Node class names (Arrays, Curves, Solids ..)
4. Node names ( Const, Loft, Extrude, Revolve ... )
5. Inputs/outputs ( Min, Max, Count ... )

Karsten
>>If frame.z-axis lying on or parallel x-axis -> frame.zaxis.y=0 && frame.zaxis.z=0 -> atan2 will get a bitch ... (NaN)
Yes. I forgot about this. The new version:
code:
var rx=ry=rz=0;
if ( frame.zaxis.y === 0 && frame.zaxis.z === 0) { ry = ( frame.xaxis.z > 0 )?90:-90; }
else
{
   rx = Math.atan2(frame.zaxis.y, frame.zaxis.z);
   ry = -Math.asin(frame.zaxis.x);
   rz = Math.atan2(frame.xaxis.z*Math.sin(rx)-frame.xaxis.y*Math.cos(rx), frame.xaxis.x*Math.cos(ry)+(frame.xaxis.y*Math.sin(rx)+frame.xaxis.z*Math.cos(rx))*Math.sin(ry));	
}

>>if frame.zaxis turns over ry>90deg (z-axis downwards) you will get the same result as between 0-90deg
It's not a problem. For any frame we can get at least 2 sets of angles. It doesn't matter which one we choose.
From: Karsten (KMRQUS)
9 May 2016   [#268] In reply to [#267]
Hello Max,

thanks for the fast reply. I can't check the code at the moment, maybe in the evening.
>>>>> It's not a problem. For any frame we can get at least 2 sets of angles. It doesn't matter which one we choose.
Ok, I agree with you. My calculation strategy differs from yours a little bit so I was blind to see:-)

Karsten
From: Frenchy Pilou (PILOU)
9 May 2016   [#269] In reply to [#267]
@Max
<< I think it's not a good idea to put all words in one sorted list.
You right!
Next version will be like than Russian's distribution!
(an external sort list will be used only for search dupplications :)
From: mkdm
9 May 2016   [#270]
Hi Max and Karsten,

First of all, i wish to thank you for your efforts and for your constant developing!

Inside the NodeEditor, it would be possible to render the generated objects, using a particular style, just in order to better highlight them ?

The attached pictures show the actual Grasshopper's way...

And it would be possible to automatically select the generated objects, and eventually, assigning them to a particular style ?

Thanks for everything and have a nice day!

Marco.

Image Attachments:
01_Capture.PNG  02_Capture.PNG 


From: Karsten (KMRQUS)
9 May 2016   [#271] In reply to [#267]
Hello Max,
I figured out why my code is so complicated. I ran allways in situations where I got confusing results or crashes in following nodes. I've tried to solve the problem at the wrong place (the code is now independent of the frame axes length). In a first test I saw that Math.asin in your code gives a NaN in some configurations??? Normally it is impossible, especially when frame.zaxis.x=1. Maybe a bug or a problem with floatingpoint arithmetics??? I don't know???

Karsten
From: bemfarmer
9 May 2016   [#272] In reply to [#267]
The <Language>Strings.txt in MoI are grouped.
They also have comments and subtitles preceded by semicolons.

- Brian
From: Karsten (KMRQUS)
9 May 2016   [#273] In reply to [#267]
Hello Max,

Damned! A simple "Math.round(frame.zaxis.x *10000)/10000" will fix it.

Have a nice day
Karsten
From: mkdm
9 May 2016   [#274] In reply to [#267]
Hi Max and Karsten,

First of all, i wish to thank you for your efforts and for your constant developing!

Inside the NodeEditor, it would be possible to render the generated objects, using a particular style, just in order to better highlight them ?

The attached pictures show the actual Grasshopper's way...

And it would be possible to automatically select the generated objects, and eventually, assigning them to a particular style ?

Thanks for everything and have a nice day!

Marco.

Image Attachments:
01_Capture.PNG  02_Capture.PNG 


From: Frenchy Pilou (PILOU)
9 May 2016   [#275] In reply to [#274]
You can yet put a color to a node
Right Click on a node!


From: Karsten (KMRQUS)
11 May 2016   [#276] In reply to [#267]
Hello Max,

let me make a last remark about the pushFrame before you release it. Your code works fine and I can't figure out any problems:-)
(little changes: clamp frame.zaxis.x to [-1;1] | ?90:-90; -> Math.PI/4;-Math.PI/4)
The function sets in gimbal lock ry to ?90:-90. Am I right, that we need in that situation at least a rx- or rz-calculation?
Something like (not tested):
rz = Math.atan2(frame.yaxis.z,frame.yaxis.y); or a direction dependent rz=Math.asin(frame.xaxis.y)??? with rx=0
As mentioned, in tests I didn't run in that situation:-)

Have a nice day
Karsten
From: Frenchy Pilou (PILOU)
11 May 2016   [#277] In reply to [#276]
Have you a graphic example of the use of the function "PushFrame" ?
From: Karsten (KMRQUS)
11 May 2016   [#278] In reply to [#277]
Hello Pilou,

it's an internal function of the nodeeditor to push a frame in a pointarray. Caused by the switch to this united datatype I need it to e.g. evaluate the startpoint orientation of a curve and provide an orientated (point inculding frame )pointarray-type as an output. So you can make a curve, get the startframe and align a circle to it for a e.g. sweep.
http://moi3d.com/forum/index.php?webtag=MOI&msg=7777.53
The only diffrence to this example is that I separated the function form the curve (old GeneralCurve) in a node. Advantage: you can use the node for various curves.

You will find a draft in getCurveStartFrame in Infonode.js posted here. Problem: the name is to long -> to much space wastage on @'y'@ surface - any ideas?

Have a nice day
Karsten
From: Karsten (KMRQUS)
11 May 2016   [#279] In reply to [#278]
p.s.: getPushFrame and showFrame are only nodes for test purposes:-)
From: Frenchy Pilou (PILOU)
11 May 2016   [#280] In reply to [#278]
Thx for the infos!
From: Sharif (SR13765)
11 May 2016   [#281]
Hi All;

I am trying to understand the frame in the max's NodeEditor. Some nodes have frame input and output. Can someone please explain what is Frame? what kind of input requires for frame input. Is the frame in Max's nodeeditor is the same as frame in MOI.

Thanks,
sharif
From: Karsten (KMRQUS)
11 May 2016   [#282] In reply to [#281]
Hello Sharif,

the simplest explanation for a frame is local coordinate system. So the frame has a basepoint, a x-axis, a y-axis and a z-axis in Moi. Max has created a new combined datatype for points and frames called pointarray which has a high flexibility. Every element consists of 3 coordinates (x,y,z) and 3 Euler angles (Notation X,Y',Z'') and a seventh coordinate (maybe useful for homogenous proposes?). If you create a frame node, a pointarray with one element in it will be created. You can manipulate the angles to orientate this virtual frame. Typically nodes for objects, that needs a frame as an input in Moi, are labeled with center. Nevertheless you can also connect a point node to it, because the angle infos (point node has also pointarray output) and so the frame informations are present. Only limitation: The point node has no rotation inputs. The big advantage of Max design is the flexibility, reduction of wires and make uniformly arrays of points/frames possible. An good example for the flexibility is Max line node: You can connect a single frame or point as input or complete streams of points/frames -> pointarray. The node will do the rest!

I hope you get me, my english is not the best!
Karsten
From: Frenchy Pilou (PILOU)
11 May 2016   [#283]
@ Max
An Alert Message when we press "New" ?
"Do want to Save before New?" : "Yes / No" for have the Time to Save if not yet done! ;)
From: mkdm
12 May 2016   [#284] In reply to [#255]
Hi Max!

A short question about PontArray...

How would it be possible to collect a specified set of Point objects, into a PointArray ?

That is, starting from a given number of selected points present in scene, how to create a PointArray from them ?

And, what you say about my question at http://moi3d.com/forum/index.php?webtag=MOI&msg=7713.274 ?

Thanks for everything and have a nice day.

Marco.
From: Karsten (KMRQUS)
12 May 2016   [#285] In reply to [#284]
Hello Marco,

my name isn't Max, but I can you give a node for that. It's a quick and untested hack of Max geniue concat node for Objects. I have changed only the input and output parameters. Please test it. Maybe Max can integrate something like that in his next release, maybe there is something like that already existing? Only Max know all the features:-)

Have a nice day
Karsten

Attachments:
arrays2.js


Show messages:  1-5  …  206-225  226-245  246-265  266-285  286-305  306-325  326-345  …  906-912