Teach self computer graphics programming mathematics using books and the internet?

3.8k Views Asked by At

Recently I have discovered that I'd like to learn computer graphics programming. However to learn computer graphics programming requires quite a bit of mathematics.

Would I be able to teach myself topics such as: linear algebra, calculus, trigonometry, matrices, vector calculus etc. Just using textbooks and the internet?

I am also looking for some book recommendations which range from the very basics of mathematics, up to trigonometry, calculus and linear algebra etc.

3

There are 3 best solutions below

2
On

is it possible to teach myself those topics with the books and the internet thoroughly enough that if i was examined on all of these i would be pretty much the same level as a student that took a course in it in real life?

This is a subjective question, but my subjective answer is no. The internet is relatively new, but books have been around for a long time, and they haven't made teachers obsolete yet. The human factor cannot be completely eliminated.

One of the responsibilities of my day job is to handle student placement, and I often meet with students who want to be placed beyond a course because they have read a book on the topic. I ask them a few questions about the major concepts of the course. In the vast majority of cases they can't recall the basic definitions or convey the fundamental ideas of the course, or do simple problems. This is not to denigrate them; I just think they don't accurately assess the depth of their own knowledge. We are all like that.

That that wouldn't mean you need to enroll in a school with face-to-face classes. Perhaps online courses would allow you to learn at your pace but still have interaction with an instructor.

In your comment question you seem to presuppose that "getting taught" is some passive activity that lazier people would prefer. On the contrary, taking a course involves a lot more work! Paying attention for each class, asking and answering questions, and (most importantly) doing the homework are all part of the learning process.

0
On

I would say it is possible. A good teacher is is irreplaceable and can make a world of a difference in your education. But, truth to be told, most of the courses, at least in my experience, are not vastly different from writing the content of a set of lectures notes on a blackboard. I am not trying to be denigratory, and such courses still provide much value. In particular

1) The selection of material is appropriate. This is non-trivial: of course if you don't know the subject you don't know what to study. Furthermore, the typical book covers more material than the typical course, i.e. too much for a first go.

2) A lecturer may give a more "user friendly" treatment by giving more details of proofs/calculations or by working out a higher number of examples.

3) Exam/intermediate homework set a threshold for the minimum you should take out of the course.

But these points can be met even when self-studying. In the same order my advice would be:

1) Have a syllabus /set of lectures from a good university course so to know what is important and what may be skipped.

2) Get a book which is friendly and suited for self-study and which presents many worked out examples. Stay well clear of anything known to be concise/terse/foundational of which has similar words in the title. For a specific subject you can look at the threads here or open a new one in which you make clear your requirements.

3) Do not get too self-indulgent. Make sure that you can do (a reasonable number of) the exercises in your book. Even better, university exam sheets of past years are often available on the net, make sure that you can "pass" those.

So, it takes a bit more effort than following a university course but I think that it is doable. It won't be as good as what you get from the best courses/lecturers, but if done properly it is similar to what you would get out of an average course.

Internet makes things different, and I think something like math.stackexchange can be precious: for example if you have solved an exercise or proved something, it may be worth to post it here asking not only if your solution is correct, which maybe you know already, but if there are better ways of doing it and if you are learning how to apply the theory you have studied rather than using ad hoc methods (nothing wrong in finding non-standard solutions to a problem, but part of the point is to learn the machinery so that you can apply it those time that you cannot think of a clever trick).

Best of luck!

1
On

imho (despite the off-topic question and the subjective question), it is possible.

I'm not saying it is easy or even recommended to skip the instruction by an actual professor. The biggest issue you can run into is that once you fail to do something correctly, you might track those mistakes on or keep making similar mistakes as far as proof methods/syntax/etc. I know for a fact this is one of the biggest problems I ran into while getting my bachelor's in Math and my professors/TAs were a huge help when trying to understand things differently. It may be incredibly hard sometimes to come up with the right approach to handle a problem correctly or check your own work. This is why peer-review happens at the highest levels of any science, because you may be too close to your own work to ever realize your own mistakes.

However, I do NOT think it is impossible to do. I self-studied for several of my classes including Algebra/DiffGeom/Analysis/Logic, and it definitely can be done. However, I can tell you my Algebra was always shaky and some definitions I wasn't exactly clear on until I talked to my TA, several weeks in a row, multiple hours at a time. I eventually got the hang of it. However, the rest of these courses I had no problem basically just learning it all on my own/from the books. So I would suggest you look for help or at least someone who is more instructed than you in the topic if only to check some of your work and make sure you're not making silly mistakes, just to make sure you're on the right track. (If you're not, they'll be able to tell you and then you can look for different resources for learning like online courses w an actual professor checking in or something of that sort).

Additionally, you mentioned linear algebra, and I believe that should be a 'simple enough' topic to cover on your own without much trouble and it should also be easy to find someone who is well-versed in the topic (any of your engineer-relatives/friends should have some background in it)

Best of luck!