something we recorded last year while I was in NY: https://vimeo.com/44951318 maybe this helps :)
Cheers Vladimir On Wed, Jul 17, 2013 at 2:05 PM, Vincent Ullmann < vincent.ullm...@googlemail.com> wrote: > Quote Paul: > > { > Ive managed to get barycentric interpolation working for a flat plane, > and only 3 points, but I need it to accept multiple points in 3d space. > } > > Not sure if this helps, but some time ago i made a ICE-Compound for > calulating barycentric-Coordinates, based on 3 3D-Vectors. > Dont know if my formula was correct.... ;-) > > > Am 17.07.2013 19:47, schrieb Alok Gandhi: > > You can have a look at my blog post: > > http://alokgandhi.com/blog/2012/05/28/barycentric-coordinates-and-the-magic-of-locations/ > > > On Wed, Jul 17, 2013 at 12:58 PM, Ben Houston <b...@exocortex.com> wrote: > >> BTW here is our code for calculating barycoordinates from points and >> creating points from barycoordinates: >> >> template<class T> >> class Triangle3 { >> public: >> Vec3<T> a; >> Vec3<T> b; >> Vec3<T> c; >> >> Matrix44<T> getPointToBarycoordMatrix() const; >> Matrix44<T> getBarycoordToPointMatrix() const; >> }; >> >> template<class T> >> inline Matrix44<T> Triangle3<T>::getPointToBarycoordMatrix() const { >> M44x pointToBarycoordMatrix; >> bool success = inverseSafe( pointToBarycoordMatrix, >> getBarycoordToPointMatrix() ); >> if( ! success ) { >> T oneThird = ((T)1.0)/((T)3.0); >> //Vec3<T> center = ( a + b + c ) * oneThird; >> return Matrix44<T>( >> 0, 0, 0, 0, >> 0, 0, 0, 0, >> 0, 0, 0, 0, >> oneThird, oneThird, oneThird, 0); >> } >> return pointToBarycoordMatrix; >> } >> >> template<class T> >> inline Matrix44<T> Triangle3<T>::getBarycoordToPointMatrix() const { >> Vec3<T> n = normal(); >> return Matrix44<T>( >> a[0], a[1], a[2], 1, >> b[0], b[1], b[2], 1, >> c[0], c[1], c[2], 1, >> n[0], n[1], n[2], 0); >> } >> >> And this you just multiple your point by the "pointToBarycoordMatrix" >> matrix to get barycoords. And if you have barycoordinates, multiply >> it by "getBarycoordToPointMatrix()" to get your point. >> >> We are using 4 coordinate barycoordinates where the fourth element is >> the distance from the triangle plane in the normal direction. Just >> set it to zero and you should be fine. The above can be converted to >> Softimage Matrix types pretty easily. Probably could be added to the >> Softimage SDK as well if it isn't already there. >> >> Best regards, >> -ben >> >> >> On Wed, Jul 17, 2013 at 12:04 PM, Ben Houston <b...@exocortex.com> wrote: >> > So barycoords for a triangle works well and I believe there are tons >> > of references on the web for this. Barycoordinates for polygons is a >> > bit more problematic because they are no longer linear but rather >> > polynomials and thus harder to calculate. I'd stick with triangles >> > and then all those web references should work well. >> > >> > Is your problem calculating them from points? >> > >> > Basically this is a great guide: >> > >> > http://en.wikipedia.org/wiki/Barycentric_coordinate_system >> > >> > -ben >> > >> > >> > On Wed, Jul 17, 2013 at 11:38 AM, <p...@bustykelp.com> wrote: >> >> Hi, I have spent days on this and I cant work it out >> >> >> >> I have a selection of points (not on a flat plane) and I have a test >> >> position. >> >> It returns an array that represents the weighting, related to the >> proximity >> >> to the other points. >> >> >> >> I want to have it so that when the test position is directly at a >> point, the >> >> value for that point in the array = 1 >> >> and the rest will be zero >> >> as the test point moves around the area it interpolates these values, >> but >> >> they always add up to 1 >> >> >> >> It sounds really easy, but I’ve been literally* tearing my hair out >> over >> >> this for days. >> >> >> >> Ive managed to get barycentric interpolation working for a flat plane, >> and >> >> only 3 points, but I need it to accept multiple points in 3d space. >> >> >> >> Please help. I’m going bonkers over this >> >> >> >> Paul >> >> >> >> *(not really literally) >> > >> > >> > >> > -- >> > Best regards, >> > Ben Houston >> > Voice: 613-762-4113 Skype: ben.exocortex Twitter: @exocortexcom >> > http://Exocortex.com - Passionate CG Software Professionals. >> >> >> >> -- >> Best regards, >> Ben Houston >> Voice: 613-762-4113 Skype: ben.exocortex Twitter: @exocortexcom >> http://Exocortex.com - Passionate CG Software Professionals. >> >> > > > -- > > >