Я думаю, вам больше не понадобится этот ответ, так как он больше не участвует в лучшем ответе на this question of yours. Но в любом случае, вот то, что вы делаете, чтобы выполнить инверсию в единичном круге: даны координаты x1
, y1
вы вычислить координаты перевернутой точки, как
sq = x1*x1 + y1*y1
x2 = x1/sq
y2 = y1/sq
Если круг вы хотите использовать для инверсии не единичный круг, вы можете применить одно преобразование вперед и обратно после него. Так что если у вас есть круг с центром mx
, my
и радиусом r
вы можете сделать
x2 = (x1 - mx)/r
y2 = (y1 - my)/r
sq = x2*x2 + y2*y2
x3 = x2/sq
y3 = y2/sq
x4 = x3*r + mx
y4 = y3*r + my
Спасибо за внимание. Я нахожу другой способ прошлой ночью, о котором я расскажу. – Zakhar