Suppose I have a regular, convex 3D surface I can define with some coordinate x(?,?) and surface normal n(?,?). Half this surface is facing towards some unit vector, v(?,?) and half is facing away from it. I know I can determine whether some part of the surface is facing the vector or not by looking at whether v.n is less than (facing towards) or greater than (facing away from) 0. How would I go about trying to analytically (or even quasi-analytically) determine the centroid of each surface?
My first thought was to approach the problem numerically - just generating points on the surface, calculate the v.n values to separate the groups of points, and work out the average displacement vector for each group, but because the points aren't distributed uniformly the results get skewed depending on how many points fall on either side of the boundary, so that's out.
My second approach was to try using the v.n = 0 condition to find some analytic expression for ?(?) and integrate or even numerically integrate x(?,?) over the range of ? for each surface. This approach half-worked. I found that after a few pages of algebra I could find an expression for ?(?), but it seems to drift from the actual boundary point depending on value of v, so I'm not sure if this is just some mistake I made in my derivation, or if I'm missing some piece of the puzzle needed to make this approach work.
I'm crap at this kind of differential geometry stuff and it's frustrating the shit out of me, so if anyone has more experience with these kinds of problems, I'd appreciate any pointers or even just a fresh take on it.
My first thought was to approach the problem numerically - just generating points on the surface, calculate the v.n values to separate the groups of points, and work out the average displacement vector for each group, but because the points aren't distributed uniformly the results get skewed depending on how many points fall on either side of the boundary, so that's out.
My second approach was to try using the v.n = 0 condition to find some analytic expression for ?(?) and integrate or even numerically integrate x(?,?) over the range of ? for each surface. This approach half-worked. I found that after a few pages of algebra I could find an expression for ?(?), but it seems to drift from the actual boundary point depending on value of v, so I'm not sure if this is just some mistake I made in my derivation, or if I'm missing some piece of the puzzle needed to make this approach work.
I'm crap at this kind of differential geometry stuff and it's frustrating the shit out of me, so if anyone has more experience with these kinds of problems, I'd appreciate any pointers or even just a fresh take on it.
