如何相对于作为原点的特定点而不是原点(0,0)缩放点?

S.E*_*.EB 1 python image-processing matplotlib draw

我有缩放因子,我想通过相对于Python中的(图中的红点)缩放sf=[0.5,0.75,0.85,1,1.25,1.5,1.75,2]来计算点(蓝线)的坐标。e=[70, 140]center_point=[89, 121]

scaled_point_x = e[0] * sf[0]
scaled_point_y = e[1] * sf[0]
ee=[scaled_point_x,scaled_point_y]  # yellow color line in the figure
Run Code Online (Sandbox Code Playgroud)

添加中心点坐标平移到红点(中心点)后,我得到黑线,这是不正确的

new=[scaled_point_x+center_point[0],scaled_point_y+center_point[1]]
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我怎样才能解决这个问题?我哪一部分做错了?

Imp*_*est 5

这是一个数学问题,而不是一个编程问题。要将点相对于中心点缩放e一个因子,fcp

new_e = f*(e-cp)+cp
Run Code Online (Sandbox Code Playgroud)

即缩放该点和中心点之间的差异向量,然后将其平移回中心。