Atheist

Member

248

150 Neutral

• Rank
Member
1. Finding out which face corresponds to which

Assuming no polys in the hi-res model correspond to more than one poly in the low-res one, I´d try this: For each poly i in the low-res model: - calcluate the plane Pi it lies in - For each poly j in the hi-res model: -- Project j on Pi. Also remember a distance d_ij of j from Pi (I´d try average distance of j´s points). -- if projection lies within Pi mark it as possible possession of j. Now, the problem is that for polys j it´s possible to meet the "possessed by" criteria of more than one poly i. That´s why a 2nd step is nessecary to determine which of the possible owners j has. This one would be as simple as: j belongs to the poly i that it´s closest to: Owner = i: d_ij=min. That´s just my first guess what I´d do. There may be professional algorithms that are better or it might be able to simplify above. It will probably not work if polys of the hi-res model do not project into a poly of the low-res model. I assumed you get the low-res model by removing points from the hi-res one. It should give ok results, then.
2. normal of implicit function

... because the gradient (d/dx, d/dy, d/dz)F gives you the direction where F raises most and since your surface is defined by "points where F doesn´t change" that´s perpendicular (losely speaking, but maybe helping to understand it).
3. one special point from plane and 3 points

Definitely solveable if I undestood you correctly. My first idea for a solution (short version because I am tired): P4 = P1 + a(P2-P1) + b(P3-P1) the plane equation in it´s explicit form with Pn being the coordinates (coordinate vectors) of point n is true in 2D as well as in 3D, so: 1) with the 2D-coordinates Pn -which you know all n=1..4 of- calculate a and b. 2) plug a and b in the equation with the 3D-coordinates to determine P4.
4. Symbolic Integration!

1st off: This is one of my "noone answered so far and I have to distract myself so I´ll give you a non-competent answer with suggestions hoping it helps you"-posts. So don´t assume what I´m going to tell you is anywhere close to the current state of research. I once wrote a parser to plot 2D-surfaces several years ago (was my first contact with OpenGL, I think). The parser created a (mostly binary) tree from a string entered. Each node/leaf represented a mathematical operation. When created the node looks for the operation with the lowest orde in the string given to it, remembers it, splits up the string accordingly and gives the two substrings to the next-level nodes. Example: s = f(x)="5*x+2" Type: Addition, s1="5*x", s2="5" Right "2": Type: Constant=2 => Creation terminated Left "5*x": Type: Multiplication, s1="2", s2="x" Left "5": Constant as above Right "x": Variable. Creation terminated. Plug in Value at call. To get for example f(2) you call the tree and plug in 2 wherever you have a "variable"-leaf. Of course you can have more than one variable x and you could even give a string like "f(a,fg,e)=..." and determine the names/number of the variables and the name of the function by parsing the left side of the "=" sign. Using such a structure differentiation shouldn´t be much of a problem. Simply apply rules of differentiation on each node like "Sin(f(x))' = Cos(f(x))*f'(x)" and "f*g = f'*g + g'*f". This should work but needs a lot of optimization (like a subtree that only contains constants to be crunshed into a single leaf) to be halfways efficiently. As for integration: As long as you stick to polynomials that´s no problem, of course. When it comes to more complicated things ... oh, I have to go. No, honestly, I dunno if that parser structure is capable of doing that.

8. Check my maths

Three points allways lie in a plane. That´s not true for four points. If the four points of your quad don´t lie in a plane you´d even have trouble defining the area of your quad. If the four points of your quad lie in a plane then you can do the height interpolation as you´d do in a triangle (you´re talking about heightfields, no?) and don´t have to bother about the 4th point (but clx and cly can be >1, then). If they don´t lie in a plane ... well as I said I think you can´t even define the surface without additional assumptions. I´d split the quad into two triangles and use the triangle that applies to the point you´re looking for.
9. collision woes

Take a sphere (a sphere has a center and a radius) that encloses your object (as close as possible) and check for collision with the sphere (something closer to center than radius) instead of every triangle (or check the triangles only if there is collision/interstection) within the sphere. Oh, and ... 2D sphere = circle.
10. What do you do when someone PM's you ...

lol, wonder if my last post in this thread raised someone´s attention. Just also got such a PM... [headshake]
11. What do you do when someone PM's you ...

Reply or ignore, just as with any other message.
12. collision woes

Don´t know the book you´re talking about and I doubt that any collicion detection can be more accurate than checking for every single triangle (or whatever your shape consists of). Nevertheless, hierarchy of spheres for me sounds like a tree-structure: A big bounding circle around your whole object that includes smaller circles which fir your geometry better (which can of course also contain further smaller circles or triangles or whatever). Implementation would be "if collision with sphere then check all objects included in this sphere" starting with the big sphere around your whole object. Like I said it doesn´t make your collision more accurate than checking every triangle but it makes it faster because you can reject some triangles early. I don´t know if that´s what you were asking for (I never read any papers for collision detection myself since I feel able to write my own without any external help which is much more satisfying if it works). I merely gave a reply because noone else did so far. [Edited by - Atheist on June 24, 2004 9:31:54 AM]
13. 3D Matrix...

"Layer" would be my favorite, I think.
14. Origins Of The Universe

Quote:Original post by Raduprv Quote:Original post by Atheist - Force is a term/concept that is used in Newtonian Physics (which is the standard for "everyday-physics") only. General Relativity and elementary particle physics take a different approach called "Path Integrals". This common feature of both approaches also led string theories (the one paper I read about it) take this approach. Generally spoken, there is no force in modern physics. - While force is very successful in Newtonian Physics, Newtonian Physics fails for spacetimes with much gravity which I´d expect in a Big-Bang scenario. This is strange, because I thought the quantum mechanics makes use of the nuclear and electric forces... Like I said: You might find this interesting (classical QM isn´t used in elementary particle physics, btw). The correct terms would be weak/strong/electromagnectic interactions. But this is getting offtopic ...