I know the functions Vector3, Vector2, but I don’t know how to work with it.
I know how to use the copy, clone, distanceTo, set methods.

To use Vector3 and Vector2 well, you need to know - vectors in mathematics. Right?
Need to learn math? Right? Where to begin? Where can you quickly learn vectors?

Khan Academy has a lot of nice math courses - including algebra.

It’s nice to know as much as possible, but to work with vectors in 3D you kinda only need:

basic understanding of how to turn 2 points into a vector (ie. end - start; also good to understand that a vector can be both an “arrow” from point A to point B, as well as a displacement from an origin point)

calculating vector length

adding vectors (subtraction is the same, just an opposite sign)

scaling vectors using scalars

unit vectors (and how to turn any vector into a unit vector)

projection of one vector onto another / onto a surface

Things like dot-product and just vector multiplication may also be useful - but can’t recall using them outside fragment shaders, tbh

Studying mathematical vectors. I find out that vectors have a direction - AB. OK.
Now I look at the Vector3() in threeJS and I see that here the Vertor is a - point (x,y,z)

basic understanding of how to turn 2 points into a vector (ie. end - start; also good to understand that a vector can be both an “arrow” from point A to point B, as well as a displacement from an origin point)

Vectors can be understood both as a point or as a direction:

const vector = new Vector3(0.0, 1.0, 0.0);

Depending on whichever fits the situation best - you can imagine vector either as a point (0.0, 1.0, 0.0), or as an arrow from (0.0, 0.0, 0.0) to (0.0, 1.0, 0.0) (ie. arrow pointing upwards.)

A direction and length across a plane. In three.js the length will always be the Euclidean distance (straight-line distance) from (0, 0) to (x, y) and the direction is also measured from (0, 0) towards (x, y).

First, a vector is nothing more than a combination of multiple numbers. If you’re working with a 2D space, then you’ll only deal with X (horizontal) and Y (vertical) axis. A “vector2” is nothing more than two numbers that represent a position in the 2D space. The same principle applies to 3D space where the Z-number is introduced, representing depth.

Try to visualize the following, starting with a Vector2. Imagine a playing field of 10 x 10 meters, where 0, 0 is the center of the field. So, the top-left part of the field would be represented as a Vector2 of -5, -5, whilst the bottom right would be 5, 5. Having a Vector2 of -2, -2, means nothing more than a point in space that is slightly positioned towards the top left of your field.

A direction vector works in the same way, but these values are normalized, meaning they range from -1 to 1. So, imagine the same playing field where 0, 0 is the center; a direction vector of (-1, 0) would mean a direction that points to the left.

But what if you want to know the direction vector between two different points? The center point (0, 0) I just mentioned could be described as the origin. You could freely move this origin, since it’s just a location. So what if you would want to calculate the direction between two vectors? Simply move the origin. It’s just a vector2 right? Subtract both vectors and normalize the value.

The same thing can be done with Vector3’s for 3D-space. Just try to visualize a 3D space where each vector3 represents a position within that space.

Earlier I understood Vector2 and Vector3 as a point in space. I moved objects in space giving coordinates (x, y).
I got confused when I was introduced to vectors in mathematics. I didn’t understand the direction.