Вложения битые. Но судя по описанию можешь всё сделать на подсчёте расстояний между двумя точками и не париться с углами - по теореме Пифагора: d = Sqr((x1 - x2)^2 + (y1 - y2)^2).
Не знаю, сколько там точек на рисунках, но допустим если две:
1) совмещай первые точки первого и второго изображений - думаю это уже сделал
2) поворачивай изображение пока расстояние от второй точки второго рисунка до второй точки первого рисунка уменьшается и не начинает расти
d = Sqr((x1 - x2)^2 + (y1 - y2)^2)
d_min = d
While True
Повернуть_изображение_на_1_градус()
d = Sqr((x1 - x2)^2 + (y1 - y2)^2)
If d <= d_min Then
d_min = d
Else
ExitLoop - выйти из цикла
Endif
Wend
3) Если расстояние от второй точки второго изображения до первой точки первого изображения больше, чем расстояние от второй точки первого изображения до первой точки первого изображения, то уменьшай вторую картинку с мелким шагом, пока расстояние от второй точки второго изображения до второй точки первого изображения не будет меньше или равно заданной погрешности (допустим 3 пикс.), иначе увеличивай второе изображение таким же образом.
Если этих точек 3 и более, то уже сложнее, надо ломать форму изображения с помощью матриц.