I'm at the moment sure that I want to be a Computer Sciencetist. Now, what I would like to do in the field is unkown to me.
I have tried making games ( Which I never finish), and physics simulation using graphics which I enjoy. I have also done Desktop applications.

So my question is, can you guys recommend a library for graphics related purposes in Java or if you think C++ would benefit me more I would also be glad to learn a bit about it.

If there are also some tutorials that you can recommend I would I accept them all.

In Java, you can use the JOGL bindings for OpenGL. There are some basic tutorials on their project site and then you can move on to the NeHe OpenGL tutorials.

The OpenGL red book is a good reference to keep handy.

The JOGL bindings are just wrappers around the OpenGL API, so if you switch to C++ later the differences would be minimal (ie pointers instead of references).

You may also find this information on The Mathematics of the 3D Rotation Matrix helpful if you're not already familiar with rotation matrices.

Thank you Ezzaral. I have some very naive knowledge of OpenGl. I purchased two books. One is the OpenGL superbible, which for what I've currenty read gives a lot of detail.

Though when I was trying an example of JOGL i saw some initialization methods are different to c++ (This is obvious).

Is that why you recommend using JOGL's tuts first and then using Nehe's? Just to be sure.

Yes, the the basics of setting up a graphics window with JOGL and Swing will be specific to JOGL. Once you have the window set up, most of the C++ code from the tutorials and your book can be translated very easily to the JOGL equivalent wrapper functions.