Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In with Facebook Sign In with Google Sign In with OpenID

Categories

We have migrated to a new platform! Please note that you will need to reset your password to log in (your credentials are still in-tact though). Please contact lee@programmersheaven.com if you have questions.
Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

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.


Comments

  • : 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








Sign In or Register to comment.