# Math required for 3D

This is my final question. What math is required to understand 3D? The last time I asked, I got

a response from someone saying "Oh, you need

some algebra and some trig". That don't help. What _specificly_ do I need?

I'm currently designing a game programming

site, that will provide functions and classes instead of all the needless explainations. I got 50+ game related functions so far. For example, here's one to detect collision:

// Send X, Y, W, H of two rectangular objects

int Collide(int X1, int Y1, int W1, int H1, int X2, int Y2, int W2, int H2)

{

return ((X1 + W1) >= X2 && (X1 + W1) <= (Y2 + W2) && (Y1 + H1) >= Y2 && (Y1 + H1)

<= (Y2 + H2));<br>
}

I need 3D classes -- Polygon, Model, World, etc -- for it to be complete. If any 3D programmers wanna help, or trade algorithms, let me know.

• : This is my final question. What math is required to understand 3D? The last time I asked, I got

: a response from someone saying "Oh, you need

: some algebra and some trig". That don't help. What _specificly_ do I need?

:

: I'm currently designing a game programming

: site, that will provide functions and classes instead of all the needless explainations. I got 50+ game related functions so far. For example, here's one to detect collision:

:

: // Send X, Y, W, H of two rectangular objects

:

: int Collide(int X1, int Y1, int W1, int H1, int X2, int Y2, int W2, int H2)

: {

: return ((X1 + W1) >= X2 && (X1 + W1) <= (Y2 + W2) && (Y1 + H1) >= Y2 && (Y1 + H1)

: <= (Y2 + H2));<br>
: }

:

: I need 3D classes -- Polygon, Model, World, etc -- for it to be complete. If any 3D programmers wanna help, or trade algorithms, let me know.

:

First of all, explanations ARE NOT needless, taking codes that you don't even understand is not even considered programming. The point in programming is to learn and understand how to do things, not copy and paste. If you want to do 3D graphics programming, you don't just gather a bunch of formulas and make up a program, that is useless. You must learn the basic! Don't expect to write a descent looking 3d program until you know what trig is.

You can make something work but you don't know why, then what's the point?

• First of all, explanations ARE NOT needless, taking codes that you don't even understand is not even considered programming. The point in programming is to learn and understand how to do things, not copy and paste. If you want to do 3D graphics programming, you don't just gather a bunch of formulas and make up a program, that is useless. You must learn the basic! Don't expect to write a descent looking 3d program until you know what trig is.

:

: You can make something work but you don't know why, then what's the point?

You misunderstood. I have designed, and therefore understand, every one of my functions. Most (pretty much all) 3D programmers use a library, like Direct X -- You'd know this if you knew much about 3D, and how much is involved in learning. However, I'm trying to understand all the math, so that I can be versatile and design my own -- otherwise, I'd use a predefined 3D lib. One more thing, programming and 3D algorithms are two entirely different subjects. "You must learn

the basics!"... duh. That's why I asked what

math is required.

Do you understand every function from every library you use (NO!!)?

• : First of all, explanations ARE NOT needless, taking codes that you don't even understand is not even considered programming. The point in programming is to learn and understand how to do things, not copy and paste. If you want to do 3D graphics programming, you don't just gather a bunch of formulas and make up a program, that is useless. You must learn the basic! Don't expect to write a descent looking 3d program until you know what trig is.

: :

: : You can make something work but you don't know why, then what's the point?

:

: You misunderstood. I have designed, and therefore understand, every one of my functions. Most (pretty much all) 3D programmers use a library, like Direct X -- You'd know this if you knew much about 3D, and how much is involved in learning. However, I'm trying to understand all the math, so that I can be versatile and design my own -- otherwise, I'd use a predefined 3D lib. One more thing, programming and 3D algorithms are two entirely different subjects. "You must learn

: the basics!"... duh. That's why I asked what

: math is required.

:

: Do you understand every function from every library you use (NO!!)?

:

-First thing, I never said I understand every function from every library.

-Second thing, I write my own library, so I understand every single function there

is in my own library.

-Third, you show me how do make a 3d program using just pencil and paper.

If you know the alogarithm, let's say y=mx+b, do you type in "y=mx+b" and

expect the compiler to understand what you are saying, duh.

-Fourth, I don't want to argue with you because there's no point

• Okay, here are the specifics:

You need to know about trigonometry, vectors, matrixes and 3D formulae.

The 3D formulae comes in the form of knowing how to rotate matrixes, move them, scale them, and test for collisions.

You will find those in a 3D programming book.

However you must know the MATH involved to understand and implement them.

Thus you need to know how to do trigonometry, to understand curve functions and how they relate to polar as well as rectangular coordinate systems.

Then you need to learn about matrixes. In fact you REALLY need to learn about matrixes, they are the basis of 3D programming. You will be using matrixes to rotate, skew, move, scale, etc. your polygons. You learn this in college algebra but don't learn how they relate to 3D, so get a 3D book for matrixes AFTER you learn how to work with them.

You will need vector calculus. Vectors will be your guide to making your polygons move and act. They also help describe your polygons.

And last you need 3D formulae. You can get them from a book but first you need to know the fundamentals of math.

-Xotor-

: This is my final question. What math is required to understand 3D? The last time I asked, I got

: a response from someone saying "Oh, you need

: some algebra and some trig". That don't help. What _specificly_ do I need?

:

: I'm currently designing a game programming

: site, that will provide functions and classes instead of all the needless explainations. I got 50+ game related functions so far. For example, here's one to detect collision:

:

: // Send X, Y, W, H of two rectangular objects

:

: int Collide(int X1, int Y1, int W1, int H1, int X2, int Y2, int W2, int H2)

: {

: return ((X1 + W1) >= X2 && (X1 + W1) <= (Y2 + W2) && (Y1 + H1) >= Y2 && (Y1 + H1)

: <= (Y2 + H2));<br>
: }

:

: I need 3D classes -- Polygon, Model, World, etc -- for it to be complete. If any 3D programmers wanna help, or trade algorithms, let me know.

:

• fdsfdssfdfdsfdsfdsfdsfdsfdjfdslkjfdslkjfdslkjfslkjfs jfdsfdsjfdskjskjfdlfdslkjlkjfdlkjfdsfdslkjfds