Parametric design in MoI?
 1-4  …  225-244  245-264  265-284  285-304  305-324  …  905-912

Previous
Next
 From:  Karsten (KMRQUS)
7713.265 In reply to 7713.263 
Hello Max,
>>>> The frame.zaxis.x value is always in [-1...1]
Yes, thats correct, but if frame.zaxis turns over ry>90deg (z-axis downwards) you will get the same result as between 0-90deg. Another problem:
>>> rx = Math.atan2(frame.zaxis.y, frame.zaxis.z); If frame.z-axis lying on or parallel x-axis -> frame.zaxis.y=0 && frame.zaxis.z=0 -> atan2 will get a bitch ... (NaN) If you catch the situation - you have to check also the orientation:-(

I hate Euler angles now, but I'm to stupid to understand Quaternions in that way, that I can solve the problem with it:-(

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:  Karsten (KMRQUS)
7713.266 In reply to 7713.263 
p.s: The second described situation is our good old gimbal lock ...
  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:  Max Smirnov (SMIRNOV)
7713.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.
  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)
7713.268 In reply to 7713.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
  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)
7713.269 In reply to 7713.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 :)
---
Pilou
Is beautiful that please without concept!
My Gallery
  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:  mkdm
7713.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:
Size: 652.7 KB, Downloaded: 39 times, Dimensions: 1340x964px
Size: 61.5 KB, Downloaded: 53 times, Dimensions: 630x541px
  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)
7713.271 In reply to 7713.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
  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:  bemfarmer
7713.272 In reply to 7713.267 
The <Language>Strings.txt in MoI are grouped.
They also have comments and subtitles preceded by semicolons.

- Brian
  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)
7713.273 In reply to 7713.267 
Hello Max,

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

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:  mkdm
7713.274 In reply to 7713.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:
Size: 652.7 KB, Downloaded: 17 times, Dimensions: 1340x964px
Size: 61.5 KB, Downloaded: 31 times, Dimensions: 630x541px
  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)
7713.275 In reply to 7713.274 
You can yet put a color to a node
Right Click on a node!

  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)
7713.276 In reply to 7713.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
  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)
7713.277 In reply to 7713.276 
Have you a graphic example of the use of the function "PushFrame" ?
---
Pilou
Is beautiful that please without concept!
My Gallery
  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)
7713.278 In reply to 7713.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
  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)
7713.279 In reply to 7713.278 
p.s.: getPushFrame and showFrame are only nodes for test purposes:-)
  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)
7713.280 In reply to 7713.278 
Thx for the infos!
---
Pilou
Is beautiful that please without concept!
My Gallery
  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:  Sharif (SR13765)
7713.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
  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)
7713.282 In reply to 7713.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
  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)
7713.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! ;)
  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:  mkdm
7713.284 In reply to 7713.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.
  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-4  …  205-224  225-244  245-264  265-284  285-304  305-324  325-344  …  905-912