我试图让一个三角形(其两个基点始终位于圆的外边缘)指向鼠标所在的位置。我确信这主要是我错过的一个特定的数学问题,但我一直无法弄清楚。重申一下,我正在尝试制作一些类似于 .io 游戏的东西,其中玩家显示为一个圆圈,并且一个箭头从圆圈中出来,始终指向鼠标所在的方向。
由于从头开始使用三点系统来绘制三角形,我一直在尝试找到一个公式,该公式将使用圆的周长和变量 mouseX 和 mouseY 来找到三角形的底部两个点,无论鼠标在哪里屏幕上。因此,我一直在使用这个公式:
mouseXRelative = mouseY-(mouseX-(x+25));
mouseYRelative = mouseX-(mouseY-(y+25));
cEdgeXL = x + 25 * cos(mouseXRelative*radians(1));
cEdgeYL = y + 25 * sin(mouseYRelative*radians(1));
cEdgeXR = x - 25 * cos(mouseXRelative*radians(1));
cEdgeYR = y - 25 * sin(mouseYRelative*radians(1));
stroke(0,0,0);
triangle(cEdgeXL,cEdgeYL,mouseX,mouseY,cEdgeXR,cEdgeYR);
MouseXRelative 和 mouseYRelative 旨在保持相对于三角形端点的距离。
我已经非常接近我想要的了,但我发现的主要错误是这些点几乎会绕着圆的边缘旋转?看起来真的很奇怪。