Ruby challenge 2 ?
-
Hi all !
I really HOPE that no one can do this with native ruby codes !!I start this challenge because I don't know how to do that... In fact, I have a little idea
This challenge is to do a script that returns a list of 4 points which represent mounting space of the face.
Exemples :
SU file is attached.Is it instersting? Is it an idea worthy of a challenge? I would like to have your opinions !
Thank you !
-
The problem of the best-fitting bounding box is well known.
In 2D, it is not too complex to find a solution, though the algorithm is hungry.
In 3D, the algorithm is very hungry and complex in the general case of any shapeBut it's worth the challenge, as there are some approximate solutions too.
Fredo
-
@matt666 said:
Hi all !
I really HOPE that no one can do this with native ruby codes !!I start this challenge because I don't know how to do that... In fact, I have a little idea
This challenge is to do a script that returns a list of 4 points which represent mounting space of the face.
Exemples :[attachment=1:1f1b2ici]<!-- ia1 -->Sans titre 1.jpg<!-- ia1 -->[/attachment:1f1b2ici]
SU file is attached.Is it instersting? Is it an idea worthy of a challenge? I would like to have your opinions !
Thank you !
Check "Rotate a texture" topic... i put there something that fits what you want. Just the ideea... maybe will come the script, but for now I'm working to something else. Perhaps somebody else will try a script based on that.
-
I know anything of the ruby scripting
but seems to me that when you select a volume there is a blue bounding box around the volume done by SU
Just take it the 8 vertices and you have your list (or 4 for a surface in 2D)
I don't know if that is cheating -
Frenchy, i believe the challenge is to find the best fitting bounding box, rather than any bounding box.
-
@unknownuser said:
I know anything of the ruby scripting
but seems to me that when you select a volume there is a blue bounding box around the volume done by SU
Just take it the 8 vertices and you have your list (or 4 for a surface in 2D)
I don't know if that is cheatingThe BoundingBox is related to global axes! so if your face is oblique, the boundingbox means the projection on the axes. That's not helpfull because doesn't represent the real size of the face.
-
Since the test seems to involve only the single face... first copy the face into a group. Make a transformation of that round a given vertex/axis so that it's 'flat' (the face's plane z=1). Find the copied face's longest edge, find the rotation of that edge, transform rotate the group around the start of that edge so that its now at 0 rotation around the z axis. Find the bounding box of the 'flat'/rotated copy. Make a rectangle using the four corners of the bbox. Erase the rest of the group's contents and transform the bbox rectangle backwards onto the original face and you then have that face's minimum bounding box...
.
-
Hi TIG !!
Wow, great idea... I will try to do what you say ! Thank you ! -
Wow !! You're the man, Fredo !!
Thank you so much ! -
Matt,
Here is a rather brute force version functioning for a single face, when selected. It works in 3D.
The command is in the menu Plugins "Best Bounding Box for a single face" (there is no icon).
You can extract the algorithm (3 methods) from the code to do what you have in mind. On my side, I may use it to develop a Face Scaling macro that use the Best-fitting bounding rectangle instead of the default box aligned on axes.The bounding box (actually always a rectangle) is created as a Group.
Fred
-
this would be good for making proxy objects (when vray decides to implement proxies )
-
What is a proxy object ?
-
Its like a dummy piece of geometry that you place instead of something else. In the case of render engines, its usually used so your scene can be kept low poly, but when you export to the render engine, it will load up a high poly component in place of the low poly proxy.
Very useful for trees and the like.
-
Ok, thank you Remus !
-
No worries, its nice to be able to contribute to the ruby forum for once
-
Did anyone was able to do the same for groups or any volume ?
-
The "untransformed bounds" is now a new group property accessible in the v7 API...
-
WHOA, So I have to give a try to the free versionof SU7, but, I think my computer will begin to say ARRGHH... (quite old... )
Advertisement