Randomize?

Next
 From:  FelixPQ (FELIX)
4744.1 
Hi Michael,

is there a script or maybe one could be modified to move a bunch of control points, one at a time, randomly within a certain range and ideally in one direction at a time (x,y or z). Maybe to simplify the UI, we could have a range setting mechanism for all 3 axis with a default range of 0, then we could setup the range we want for the axis we want. The idea is to create say an array of object that would be a little bit different from each other.

Thanks,
Felix

EDITED: 26 Nov 2011 by FELIX

  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)
4744.2 In reply to 4744.1 
Take a look here at this thread ;)
http://moi3d.com/forum/index.php?webtag=MOI&msg=3974.1

I belive that you can obtain that you want :)

Make the same bunch of points and make a random selection on them ;)

EDITED: 26 Nov 2011 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

Previous
Next
 From:  FelixPQ (FELIX)
4744.3 In reply to 4744.2 
Hi Pilou,

unfortunatly that's not it.

Ce que je souhaite, c'est de pouvoir deplacer au hazard les points de contrôle soit d'une surface ou encore des courbes génératrice elle-même.

Thanks,
Felix
  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)
4744.4 In reply to 4744.3 
Effectivelly that works only on objects ! :(
So a new task for Michael :)
  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:  Michael Gibson
4744.5 In reply to 4744.1 
Hi Felix, right now there is not any method set up for scripts to access the control points, so it's not possible yet to make a script like this if you specifically want control points to be targeted rather than entire objects.

- Michael
  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:  FelixPQ (FELIX)
4744.6 In reply to 4744.5 
Michael,

I don't understand why it's not possible as I use the move, align and other commands all the time with "selected" control points. Do we have access to individual coordinates of a point?

Thanks,
Felix
  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:  Michael Gibson
4744.7 In reply to 4744.6 
Hi Felix, there is not any interface currently set up to individually set selection or access the xyz coordinates of an individual control point on an object.

It's possible to script the move, align, or other existing commands, but all of those apply the same transformation to every one of the selected points.

A randomize thing won't work by applying the same transform to all the points, unless I don't at all understand what you are asking about. So to do a randomize script at the control point level the script would need to set selection to different individual points before running one of those transformation commands so that it was more like running a separate transform on every separate point. Modifying the control point selection like that is the part that is not set up with script access currently.

Selection on full objects is accessible through script, so that's why it is possible to do a "whole object" randomize position thing but not one that randomizes control points.

It's very likely that just totally randomizing control points would create a really pretty messed up self-intersecting curve or surface though, unless it was constrained to only be applied in some specific limited situation.

- Michael
  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)
4744.8 
You can maybe with some Excel programm make your randomize points x,y,z and then import them inside Moi ;)
http://kyticka.webzdarma.cz/3d/moi/#Other import Point file ;)

EDITED: 27 Nov 2011 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

Previous
Next
 From:  FelixPQ (FELIX)
4744.9 In reply to 4744.8 
Pilou,

I though of that one as well but as Michael said above in 4744.7, though we can create a point as is done in the importpointfile we don't have access to a point coordinate ounce created wich is essential if you want to create a target point relative to your base point. Add to that the fact we can't either, it would seem, move each base point (in the selection) individually.

Then the only way I can thing of doing this is externally, by exporting to a mesh format and then add somekind of "noise" displacement to the mesh using whatever program that can do this. But this way you basically lost your Nurbs object forever as Moi is concerned.

I can think of quite a few things one could do if it was possible to "move" individual (control) point like in a mesh, it would be awsome.

Thanks,
Felix
  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:  FelixPQ (FELIX)
4744.10 In reply to 4744.7 
Michael,

I saw there is a nudge script out there and the "relative" move can be force to a preset direction and can be either large or small if I read this correctly. This tells me there is way to move a single point at a time (at least) by a certain "offset" which could be easily "randomize" I would think. That's basically what I'd like, move a (control) point by some (random) offset (within a certain range) in one (or all) direction (up, down, etc).

If you can see a way to do this on each indivudual (control) points in a selection it would make my day, that would be the key.

Of course, a UI would be a great addition, maybe we could set a range for the random value and the direction there. Ideally, we could set the range for each direction, then no need for up, down, etc., just X , Y or Z, say something like xrange(0, 0), yrange (0,0) and zrange(-0.010, 0.050) for example.

In case there is no way to do an offset move on each point in a selection, would it be to much work for you to implement a UI for a "RandomNudge" script with something like the xrange, yrange and zrange. I understand you have lots of work on your hand as it is so maybe you could just refer me to some existing command that I could use as an example to create my own UI type command script.

Thanks,
Felix
  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:  Michael Gibson
4744.11 In reply to 4744.10 
Hi Felix,

> If you can see a way to do this on each indivudual (control)
> points in a selection it would make my day, that would be
> the key.

There is no way right this moment for a script to modify the selection of control points, so this part where you want each control point to have a different movement applied to it is not possible to set up.

It's possible to add that in to a future version, but probably a dedicated Randomize command would be better since doing a script that would modify some thousands of points by doing the move command 1000 separate times would probably be pretty slow.


So that's something that I can add in to v3 for the next main v3 beta release, but I'm not sure exactly when that will be right this moment, it could be something like a month or so away since I'm working at this moment on the 2.5 release.


There isn't really any good way to hack together a script for it since like I mentioned currently a script is not able to modify the selection of control points within it. So I'm not able to cook up a quick script to help you for this particular case in the current release of MoI, sorry.

- Michael
  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
 From:  FelixPQ (FELIX)
4744.12 In reply to 4744.11 
Michael,

don't be sorry, I'm sure your hard enough on yourself as it is, you don't need me or anyone else to add anything on top of that.

I agree with you that coding something like this in C++ or whatever you use would be much faster then via a script.

In the mean time, I'll keep having fun using Moi thanks to you.

Thanks,
Felix
  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