How to draw 3d illustrative physics pictures as above? Is inkscape capable of doing it (might be possible but afaik it is tedious), or should I use a cad tools like FreeCAD or Blender to achieve the same? Or is there other tools that might help achieve the same?
You can have many types of styles. Some are made of vectors, some are drawn by hand some are 3D mechanical projection, some 3D artistic render, etc.
The specific style you are showing is clearly a 2D vector, not a 3D render.
But regardless of the specific technique, you need to plan. Here are not specific steps, because it is not a drawing course, just a proof of concept. Made in Corel Draw.
- In this case, you need to make the elements orthogonally.
Then deform them to simulate the change in angle or actually transform the planes. Look for Skew or a similar concept in Inkscape. Also a simple stretch or scale on X.
Repeat and play.
But personally, I would not do this only in 2D, but a composite on Blender.
You need to do some homework.
Turn on import images as planes.
Import the individual planes (already made in Inkscape)
Define the camera as an orthographic camera.
Rotate and Play
But there is much to learn.
There is an alternative tool. Colaboration You could work with an illustrator.
As noted in the other answers, you're going to have a 2D result of your 3D source items, but I suspect that is your objective. Any 3D creating software will allow you to generate the images you've provided (or similar, of course) and a screen capture or image export (if available in the software) will give you a raster image. I also expect that your goal is not tied to specifically vector format output, correct me as required.
I'm more capable in OpenSCAD, a text based "scripting" program to generate items of this type, although I'm not experienced enough to generate a sine wave. I'd probably be able to find a library that is capable of doing so. OpenSCAD provides for PNG file output and customization of the background.
A real "old-timer" that may also work is POV-RAY, which is also text based. It is designed specifically to create three dimensional scenes using primitives and modifiers in a manner similar to OpenSCAD.
Each image courtesy of respective linked site.
As noted with the other suggested programs, there's going to be a learning period for both of these programs that may impact your productivity.
Is inkscape capable of doing it (might be possible but afaik it is tedious), or should I use a cad tools like FreeCAD or Blender to achieve the same?
Yes. The image presented as a idea of what to do is is really simple. For you to replicate this the easiest way is to use the tool you already know how to use! So in this special case Inkscape is actually the least tedious one by a wide margin, only because of special circumstances in the mage. But that changes quickly with volume and need. Both FreeCAD and Blender are factories for creating images, but also require some setup time.
Now the real answer to the question you are asking depends on how many images you need to do and what output you need the image to have. See conceptually drawing in FreeCAD or Blender is the same skill needed to draw in Inkscape, or at least roughly. So on a elementary level you still need to learn all the skills needed to do this in Inkscape. Contrary to perceived tedium, its also tedious to learn how to use Blender and FreeCAD for this too. So realistically, the only sane move is to learn Inkscape and one of Blender and FreeCAD at the same time.
So before you begin with this ask yourself:
- How long would it take for you to neatly draw the image by hand?
- Do you need the image to be vectors, or do raster images suffice?
- Do you need to animate?
- What kind of prerequisite skills do you possess?
- How much time do you have?
If answer to number 1 is more than 10 minutes, then Inkscape starts to look really unfavorable for you. It also makes Blender less than ideal so most likely FreeCAD, but you will be severely limited in coloring options. That said your in a really bad situation and going to have to invest serious amounts of effort to any of the software. Try to find a person who can tutor you.
If answer to number 2 is yes, then blender starts to look slightly unfavorable (though does not drop the ball entirely). And learning both inkscape and freeCAD becomes attractive.
If answer to 3 is yes, and i mean really consider your need for animation (dont do it because of want). Even talking about tediousness in conjunction with inkscape to animation is like comparing a feather to a weightlifters fully laden barbell. But if you need this then realistically you need a Blender, or something similar.
Also consider Latex and PStricks; Mathematica.
PS: I don't generally advice anybody to use FreeCAD. Yeah I have it installed, for one use case where i could also use Catia, but yeah. Anyway I am capable of drawing this in FreeCAD, though not with the coloring freedom. Id page out to a vector editor pretty quickly. I would prefer not to use blender for illustration, but sometimes it is handy. But then i have lots of options.
Pointing out the obvious because the question implies a lack of understanding about illustrations: There is no such thing as a 3D illustration. Unless you're talking about a hologram or other method of display that has an actual depth component. All illustrations on paper, computer screen, billboard, TV or any flat display medium are, by definition, two-dimensional.
You can see, at most, three faces of a cube at one time, whether it's in a 2D drawing program or a 3D one.
Of course there are 3D programs, but they just allow you to draw and move objects as if there were a third dimension on the screen. At any moment in time, you're looking at only a two-dimensional view of the objects.
Long winded answer to say, yes, any vector drawing program can be used to create the illustration examples in the question. You just need the drawing and visualization skills to do it. If you need to be able to rotate an image in 3 dimensions, then yes, you need a 3D program like Inventor or Sketch-up or Blender. But creating a diagram like the examples in 3D originally can be a lot more complicated than creating a flat illustration in a regular vector drawing program. In 3D, you have to create everything as a solid object, so it can be rotated to views you may never use. Unless the viewer is going to be manipulating the drawing in 3D, there is no reason to create the original in 3D.