Matrix math and physics in VB(.NET)

Started by
4 comments, last by Blight 22 years, 8 months ago
Hi all, I''m trying to implement a rigid-body physics engine using VB.NET SP2 as the prelude to a game engine, and have a couple of questions: 1. Matrices: row, column or column, row? Not sure if this question really matters, but I''ve seen some people refer to their matrices by the former, others by the latter. I assume it does matter (particularly for transformations and other matrix operations), anyone got any comments on this? Is there a "standard"? 2. Momentum or velocity? I need to keep track of my rigid body''s movement (bad choice of word, but anyway), but is it better to track the momentum of the object (i.e. linear momentum is a function of the mass and linear velocity?) or the velocity of the object? I''ve read conflicting reasons for both and wondered if someone who had actually built a physics engine could advise me on this... I assume this would also be the case for angular momentum vs angular velocity... 3. Done it all before? I''m trying to catch up on my vector and matrix math, and also my Physics knowledge (wow... ten years off and I have forgotten sooooo much , so I''m building it all from scratch i.e. coding my own vector and matrix routines, rather than relying on DirectX functions. Has anyone done a physics engine in VB(or VB.NET) before? I''m not looking for the code, just interested to know if people have done it - I''ve been converting code fragments of C++ and boy does it look ugly in VB.NET ;> I''m hoping to complete it and post it as an Open Source mini-engine for other VB-minded people out there, who are likewise embarking on the fast-track physics road. Sources: I''ve pretty much scoured gamedev.net (man this site rocks!), gamasutra, and gamegarage.com for articles, etc. while building my (their?) engine. Blight P.S. Yes, I know VB is slower/hamstrung compared to C++, but I don''t know/am not interested in learning C++. Don''t forget to donate to save GameDev.net!!!
Blighty
Advertisement
Well, i''m kinda working on the same thing: A physics engine for .Net. I had the beginnings of a physics engine in VB6 it worked quite well for the amount of work I put into it. Now I''m converting and re-building it for .Net. (haven''t decided on vb.net or C#.

I''m still in the beginnings of the "re-build". I''m taking my time, trying to get the design right. Plus i have to learn .Net as I go so that takes a little more time.

I do have a small Math class which has some of the basic vector and matrix equations. I can send it to you if you''d like. (better yet, i will post it on my website.)

You read more about my project at http://www.farseer.com

I still have my vb6 engine and some demos there. Maybe you could look at it and get some ideas. (maybe. )
-jeff
Hey crash,

Thanks for your reply - I didn''t think I was going to get one at all

Just checked your site and downloaded the sample code you had there (cool site by the way and that''s looks great! I was particularly interested in your Moment of Inertia calculations, as that''s the bit I''m working on at the moment...

I''ve based my VB.NET classes on this article:
http://www.gamasutra.com/features/19990702/data_structures_01.htm

which is an example C++ data structure for a Rigid Body using OO principles that I have converted. I''d be happy to send it to you if you think it would be useful (it compiles and - shock horror - even appears to work . I''m trying to use it as the basis for the work that Craig Reynolds has done on "Steering Behaviours for Autonomous Characters" (http://www.red3d.com/cwr/steer/ it has some really cool java samples and an online doc he presented at gdc99, you''ve probably seen it) in the hopes of one day implementing it into a MMORPG that can exhibit "real" physics. *sigh* such extravagant plans for the future

Anyway thanks again for your reply, look forward to seeing the results of your project. Let me know if there''s anything that I can do to help.

Blight
Blighty
I''ll take a look at that gamasutra link. I''d love to have a look at your .Net code. You can send it to jeffreyweber@hotmail.com if you wouldn''t mind. Or post it where I can get to it.

Some of my first demos, the flocking, and predator prey, used the methods from Craig Reynolds steering behaviors site. Very cool stuff. I''m hoping to implement a "Agent" engine along with (or more likely built on top of) my physics engine.

My moment of inertia calculations came from a couple papers. (see the links on my website.) That is the most complex stuff in my vb6 engine, but it pales in comparison to the complexity of collision detection. (good collision detection.) I started working on that for my vb6 engine, but now have put it off until I can add it to the .Net engine.

Anyway, nice to know i''m not the only one doing this stuff without using C++
I''ll take a look at that gamasutra link. I''d love to have a look at your .Net code. You can send it to jeffreyweber@hotmail.com if you wouldn''t mind. Or post it where I can get to it.

Some of my first demos, the flocking, and predator prey, used the methods from Craig Reynolds steering behaviors site. Very cool stuff. I''m hoping to implement a "Agent" engine along with (or more likely built on top of) my physics engine.

My moment of inertia calculations came from a couple papers. (see the links on my website.) That is the most complex stuff in my vb6 engine, but it pales in comparison to the complexity of collision detection. (good collision detection.) I started working on that for my vb6 engine, but now have put it off until I can add it to the .Net engine.

Anyway, nice to know i''m not the only one doing this stuff without using C++
-jeff
btw, Blight, what are you using for the "visible" part of you game? Are you using an engine, or writing your own DirectX code, or something else?
-jeff

This topic is closed to new replies.

Advertisement