我的理解是,我可以使用加权平均法将一个点定位在三维空间中三角形内的任意位置:
import numpy as np
triangle = np.arange(9)
triangle.shape = (3,3)
weights = np.array([1, 0.3, 20])
point = np.average(triangle, weights=weights, axis=0)
现在我用加权平均法把一个点放在一个三角形里。 我的问题是如何做相反的事情。如果我有一个三角形,并且我已经有一个点在里面,我能从这个点和三角形之间的关系中得到权重吗,这样我就可以用加权平均来重新定位这个点了?例如,如果三角形移动了,我希望点移动时保持在相对于三角形的相同位置。我意识到这可以通过重心计算来完成。我希望有一个更简单的加权平均法
假设这些点存储在
triangle
的行中,并且这些点不都位于同一行中,则可以使用:下面是一个例子。我将使用您的
triangle
的修改版本,这样点就不在一行中了:使用相同的
weights
,计算point
作为triangle
行的加权平均值:现在反转过程:给定
point
和triangle
,找到权重:请注意,
w
是标准化的,因此它的和是1。如果我们标准化weights
,我们会看到它匹配w
:相关问题 更多 >
编程相关推荐