计算三角形内的位置

一起

我正在尝试按照此图片中的设计可视化一些数据:

在此处输入图片说明

每个主题都有一个分数(1-100)。我希望中间点指示学生(中间点)擅长的科目。

例如:如果学生在科目1和科目2上都获得50%的成绩,而科目3则得到100%,我希望该点稍微靠近科目3的角,并完美地居中于科目1和2之间,如下图:

在此处输入图片说明

任何有关如何执行此操作的建议,甚至正确方向的建议,都将不胜感激!

萨格马克

对所有主题的分数求和,然后将每个主题的分数除以总和,得出每个主题的系数。然后将所有主题点乘以它们各自的系数,然后相加得出中心点。

例如(非代码):

subject1: 50%
subject2: 50%
subject3: 100%

total: 200

subject1 co-eff: 50 / 200 = 0.25
subject2 co-eff: 50 / 200 = 0.25
subject3 co-eff: 100 / 200 = 0.5

centralpoint.x = (point1.x * 0.25) + (point2.x * 0.25) + (point3.x * 0.5)
centralpoint.y = (point1.y * 0.25) + (point2.y * 0.25) + (point3.y * 0.5)

您正在做的是为每个主题计算权重,其中权重之和等于1,然后找到这三个点的加权平均值。这种构造称为凸组合(由于@MattTimmermans提供了注释中的链接)。

一种特殊情况是分数总和为零,在这种情况下,没有有效点(因为计算涉及除以零)。在这种情况下,您可以将点放在精确的中心,也可以不显示任何点。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章