Return to “Technical”

Post

Re: @Josh, regarding mathematical knowledge

#31
Kichae Chandramani wrote:
Dinosawer wrote: Not anymore :P C++ and Python are all the rage now, which explains why the only programming language we officially learn (as opposed to having to figure it out on ourselves) is Java.
Wait. :eh:

(I have already compiled a Fortran program, does that count?)
Yup, Java was the only language I had to learn in undergrad, too. From the comp sci department. We never actually used it. The thing is, though, that in sciences that write their own programs (so... physics, and some branches of engineering), no one ports code. I've worked with profs who still use code they wrote in the 60s and 70s. We're talking research grade code that's written in COBOL and FORTRAN 77. Hell, I had profs that still actively wrote code in FORTRAN 77!

And those languages still have a lot of momentum! I did my masters research using software written in Fortran 90, and so I had to learn Fortran 90 (and 95/2003) in order to modify and extend the code. My supervisor did all of his data visualization in IDL. Because reasons. He put up a bit of a stink when those of us in his research group started doing our visualization in python, because he wouldn't be able to help us if things didn't work!
QFT. I'm probably much younger than you and Fortran is still the language of choice for the flow solvers I use.
Post

Re: @Josh, regarding mathematical knowledge

#33
Dinosawer wrote:Guess I'll add Fortran to my to-do list then. Never hurts to know an extra language anyway.
Also, this forum seems to have an exorbitant amount of computational physicists. ;)
It's good fun!
Fortran, being a fairly a fairly feature-barren language (in my experience?) shouldn't be difficult at all to learn. Suspect that you'll have no trouble with it.
Post

Re: @Josh, regarding mathematical knowledge

#34
Feature barren might not be how I describe it (my Fortran texts are somewhere on the order of 800 pages long), but the lack of popular 3rd party libraries definitely helps the learning curve. You learn Fortran (and I'd recomment starting with Fortran 95), and just Fortran. You don't also need to learn FortLab, and SciFort, and NumFort, and...
Chan.JENI
You’ve found our frequency,
Now check out our data mine!
8675309


Jafo Entertainment & News, Inc.
Offices on major planets soon to be abandoned in favor of orbital facilities with better defenses.
Post

Re: @Josh, regarding mathematical knowledge

#35
Could be worse. Could be APL.

I don't know what FORTRAN looks like these days, but when I used it it had the virtue of being simple. For years I could always tell the electrical engineering graduates from the computer scientists -- the EE guys learned FORTRAN, and for the rest of their careers they wrote code as if the only data structure known to mankind was the array.

And not any of those sissy dynamic arrays, either.
Post

Re: @Josh, regarding mathematical knowledge

#37
Scytale wrote:Was that a Fortran90 implementation?
I'm pretty sure, yeah. Re-allocatable arrays were one of my favourite features of F90/95. Well, that and in-line comments.

I still, for the life of me, can't get comfortable with dynamic arrays, and lists in Python can drive me completely nuts some days. Sure, they can save a lot of time, but there's just something solid feeling about having to know how big your array is in advance. Really, I have a hard time getting comfortable with not having to allocate variables in advance, too. Dynamic, interactive languages like Python or Ruby feel very devil-may-care and haphazard at times.
Chan.JENI
You’ve found our frequency,
Now check out our data mine!
8675309


Jafo Entertainment & News, Inc.
Offices on major planets soon to be abandoned in favor of orbital facilities with better defenses.
Post

Re: @Josh, regarding mathematical knowledge

#38
JoshParnell wrote:Hey axefrog, sorry for not responding to the email (I generally don't these days) :oops:

My mathematical knowledge goes moderately deep but the actual subset that I use for LT is remarkably shallow! Linear algebra is basically 99% of what you need to understand for general game development. You don't even really need multivariable calc unless you're doing serious work in rendering or geometry theory or the like.

So actually, I'm not going to tell you it's hard, and I would suggest you bury yourself in game programming books rather than linear algebra books :D I think learning your math on an as-needed basis is probably the most time-efficient way to do it. Many intro to game programming books include a brush-up section on the math that's most relevant to game programming (with the added bonus that you get to see how you'll be using it in context).

As for procedural generation, well, it is mostly just about having a really good feel for functions. It's definitely something that needs to be practiced to be learned, but it's not 'advanced' by any stretch of the imagination. Knowing how exp(-abs(x)) looks and feels different from exp(-x^2), remembering that 3x^2 - 2x^3 is the cubic interpolant, having a feel for the difference between sqrt(x * y) and 0.5 * (x + y), etc etc. All of this just comes from repeated use and exploration of putting together different functions :)

And there you have it! Good luck on your journey, and remember: it's easier than you think :thumbup:
Thanks Josh, that's very helpful, and encouraging!
I'm learning game programming and blogging about my progress: http://nathanridley.com

Online Now

Users browsing this forum: No registered users and 5 guests

cron