Been looking through the available guides and resources and haven't really found much on drawing an array of objects to a canvas (only people showing how to add single shapes).
I've got that part down, able to successfully render a sphere, however what I am looking for is a way to create a variable number of spheres from an array of objects, creating each sphere with unique initial conditions, and of course being able to update each respective position.
This part has definitely been confusing me, so any help or resources would be greatly appreciated!
Ok, then you'll have handle translations to set your spheres at their expected locations. If you use the fixed pipeline, you'll have to understand how the model-view matrix works (glPushMatrix, glPopMatrix, glLoadIdentity, glTranslate), you don't have to modify the vertices when you want to move a sphere, you call glPushMatrix, glTranslate and then glPopMatrix. If you use the programmable pipeline, rather use Xerxes' example I quoted earlier. If you understand the concepts, it will help both with the fixed pipeline and the programmable pipeline. Have you ever read the OpenGL red book?
This is something I implemented in Jzy3D. There is a class named DrawableVBO2 that I've used to draw arrays of triangles, spheres etc. The topic is indeed not easy since there are multiple schemes to provide vertices, normals and edges. You could either use Jzy3D to get these OpenGL stuff wrapped into an higher level API or look at my implementation.