  # Airo

Member

256

## Community Reputation

197 Neutral

• Rank
Member
1. 1. There are several frameworks which offer controls and styling (DevExpress or Syncfusion and others) or you could use MVVM light together with the standard wpf controls. 2. If the logic is nicely separated from the winforms then you can create the views you want and add the logic using the MVVM pattern. If the logic is intertwined with the views then its a proces of carefully extracting the code. Its also possible with WPF to use winforms controls inside the application. This is an application ported from winforms to wpf but it was quite a bit of work:
2. My experience with RK4 and spring interactions in particle systems is that your timestep has to be sufficiently small to benefit from the RK4 integration. If the spring constant is large then RK4 behaves a bit like euler integration, only in the first force computation there is a contact and the other 3 don't add anything. Note, I don't have a lot of experience with ropes so the situation could be different there then for 'loose' particle systems. I also have good experiences with velocity verlet.
3. we're talking about rigid bodies here, when you apply the force off center, the rigid body condition forces the body to rotate. I don't think you can say that the force is split in a linear and angular part. You could talk about kinetic energy in linear motion and rotation energy, this can be split. When you apply the force in the center, we could say the work done is f*ds (distance) , but if you apply the force off center the f*ds changes because the body starts to rotate. Hopefully someone can answer this more clearly.
4. Can't you use an OBB instead of the convex hull and use the OBB to generate the AABB?
5. I'm not well into collision detection but I believe in some cases you can calculate the determinant of a matrix, this matrix is built out of the geometry you're interested in, for example a point and a line in 2d, then by calculating the determinant you can query on which side of the line the point is.
6. Read also this: http://realtimecollisiondetection.net/pubs/GDC06_Ericson_Physics_Tutorial_Numerical_Robustness.ppt talks about how to define the epsilon based on the numbers that are compated
7. Something similar to a coefficient of restitution on the force level is for instance when simulating particles with a spring force to introduce a damping term, something like force = springconstant*overlap - viscosity*velocity when the particles are overlapping.
8. Yeah, this is great and then to think I was happy my program fitted in 64kb :)
9. This was a question in a science quiz on tv here I believe. If you wave a spot of light, the spot can move faster than the speed of light but the individual photons in the beam cannot go faster than c.
10. v += a*dt x += v*dt is probably fine for you, you also need the rotational equivalent of them. An integrator like this conserves energy better over long time but the trajectory is less accurate. Almost everyone chooses RK4 over Verlet when deciding whether a comet will hit the earth or not or you use an even better integrator.
11. Quote:Original post by remdul Okay, I'm stuck now on the integrator. I came across an alternative to RK4, which seems to be simpler, faster and more accurate than RK4, described here: http://www.brightland.com/Physics/index.htm So basicly this is it: v += a*dt x += v*dtBut I'm completely clueless as to what to do with this. What numbers go in, and what comes out? How can I turn this into a useful function? Example/source code would be greatly appreciated. That is not more accurate than RK4. You plug in the same numbers in that code as you would do when you use RK4. RK4 calculates the acceleration a four times and here it is only calculated once. I suggest you to read more literature about the subject, starting with baraff's siggraph lectures.
12. I've used this, I think it is ok. void RanUnitVector(void) { scalar a,b,l; do { a = 1.0 - 2.0*ran2(); b = 1.0 - 2.0*ran2(); l = a*a + b*b; }while(1<l); scalar s = sqrt(1.0 - l); x = 2.0*a*s; y = 2.0*b*s; z = 1.0 - 2.0*l; }
13. Does what you are saying amount to rotmatrixaxisangle = Xrot(angle1)*Yrot(angle2)*Zrot(angle3)? this paper looks interesting: effictive sampling and distance metrics for 3d rigid body path planning - james j. kuffner
14. With point masses you take the sum to calculate the moment of inertia. For a rectangle, the sum over each point turns into an integral over the body area. If you evaluate this integral it will give the formula from Erin Catto.