Forum: Poser Python Scripting


Subject: Moving morphs between different figures

Cage opened this issue on Dec 20, 2006 · 1232 posts


Spanki posted Fri, 12 January 2007 at 7:17 PM

Yeah, when I first read that (expanding the polygon test region), I agreed with it - it's what I would have suggested as well.  But since then, I've come to the conclusion that it's not deterministic enough...

Take a look at this image.  It's meant to depict the top view of  just one polygon defined by the vertices A, B, C and D.  The squares outside of that numbered 0, 1, 4 and 5 represent the 8 regions (again, viewed from the top, so regions 2, 3, 6 and 7 are not shown).

With the current code, A would be in region 0, B would be in region 1, both C and D would be in region 4.  So this polygon would be listed in each of those regions as well - 0, 1 and 4.  But as you can see, the polygon spans across region 5, but since it's not included in region 5's polygon list, no vertices from the other mesh in region 5 will bother testing it == missed match.

If you 'simply' expand the regions, you'd only be guessing how much you need to expand them in order to catch this situation.  The best way to acount for it is to test the edges of the polygon (the edge from D->B would get a hit for region 5).

So you might want to figure out your scaling problem for acedemic reasons, but it won't be a good solution to the problem :).

Cinema4D Plugins (Home of Riptide, Riptide Pro, Undertow, Morph Mill, KyamaSlide and I/Ogre plugins) Poser products Freelance Modelling, Poser Rigging, UV-mapping work for hire.