на данный момент ответ Александра Ривилиса пока понятней. Хотя хочется именно разобраться с Vector3D
Александр также использовал Vector3D, вот тут (pt2 - pt1).
Чтоб понять в чем удобство явного использования Vector2D(Vector3D), представьте более сложную задачу:
Ну к примеру расчитать перемещение резца на станке с ЧПУ, после нескольких операций.
у вас более сложное смещение, состоящее из трех продольных смещений, одного поперечного, снова продольного и например смещение под углом 35 градусов на 10мм.
Если попытаетесь описать формулу через операции с точками или координатами получится что-то явно громоздкое, плохо читаемое и плохо контролируемое.
в векторах у вас основная формула будет выглядеть например так:
Vector3d суммарноеСмещение = Продольное1 + продольное2 + продольное3+ поперечное +продольное4 + смещениена10ммПодУглом35;
Думаю согласитесь, что близко к решению данной задачи.
А перед основной формулой для каждого вектора вы распишите вычисление, например так
Продольное1 = точкаПослеФрезеровки - точкаНачалаКоординат;
продольное2 = точкаПослеПолировки - точкаПослеФрезеровки;
Да больше строк кода, да медленнее, чем через формулы с координатами. Но согласитесь более близко к геометрии, и проще написать/проверить ;-)