Start with console applications. In that sense they are relevant to your goals. Text leads to 2D objects which leads to 3D. Trying to skip stages always results in knowledge and understanding missed, often with spaghetti coding as the result. Trust me - you do not want to try to debug mangled coding.
After you get some console applications done, then consider a game engine or code more directly thru an API, OpenGL or Direct3D. You can code for 2D even with a 3D development framework.
I really do not know what you are trying to achieve with your "experiment", but you need to follow some course or tutorials and expect to learn more than you thought that you would need. If you are trying to reinvent the wheel, then don't. All the coding for 3D has been created in libraries from many developers. You will not likely match them in quality of coding.
Is the programming involved in 3D much more complex than 2D?
Yes - generally it is more complex. The 3D puts even more demand for object oriented programming. Some tutorials walk the pupil from 2D to 3D, so after you choose a language then try to find a tutorial like that.
For you to make 2D or 3D software coded from scratch will be much harder than using an existing game engine to import a 3D object and display it to screen. Game engines come with all or most of the coding libraries needed. In that case, you would choose the game engine and use the main language for it that is recommended by the developers of the game engine. Next you would make some console applications in that language. After that you would return to the game engine to create coding for 2D and eventually 3D rendering or rasterizing.