首页 > 解决方案 > 你如何通过查看我的鼠标光标找到基于圆边缘的 x,y 坐标

问题描述

我试图根据我的鼠标位置在圆的边缘内基于三角函数找到 x,y 坐标。

在此处输入图像描述

正如您从 gif 图像中看到的那样,当您的鼠标移动时,当我的鼠标围绕椭圆移动时,三角形的尖端始终指向圆的边缘。

我正在使用 P5.js,我想知道如何编写它,如果您能引导我了解这背后的三角函数,我将不胜感激,这样我就可以利用这些知识并尝试更多类型的可视化编程想法。

标签: javascriptmathprocessingtrigonometryp5.js

解决方案


计算从圆心 ( cx, cy) 到鼠标位置 ( mouseX, mouseY) 的向量。p5.Vector分别用createVector()来表示向量并将向量的大小改变为radius圆的setMag()

let v = createVector(mouseX - cx, mouseY - cy).setMag(radius);
let px = v.x + cx;
let py = v.y + cy;

分别

let cpt = createVector(cx, cy);
let pt = createVector(mouseX, mouseY).sub(cpt).setMag(radius).add(cpt);
let px = pt.x;
let py = pt.y;

推荐阅读