首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >反应-计算圆圈中的圆点位置

反应-计算圆圈中的圆点位置
EN

Stack Overflow用户
提问于 2022-05-17 08:03:18
回答 1查看 185关注 0票数 0

我有个轮子看起来像这样:

我想把黄色灯泡放在圆圈上,我正在考虑用position: "absolute", top: xxx, left: yyy来实现这一点,我想我需要一些数学来计算每个灯泡对应的topleft/right,但我不知道如何实现。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-17 08:16:44

您可以使用以下函数根据圆的大小及其中心得到X和Y的和弦。

例如一个半径为100 px的圆:

代码语言:javascript
复制
function getCircleY(radians, radius) {
  return Math.cos(radians) * radius;
}

function getCircleX(radians, radius) {
  return Math.sin(radians) * radius;
}

console.log("X coord at 0 degree:", getCircleX(0, 100));
console.log("Y coord at 0 degree:", getCircleY(0, 100));

console.log("X coord at 90 degree:", getCircleX(Math.PI / 2, 100));
console.log("Y coord at 90 degree:", getCircleY(Math.PI / 2, 100), "(= 0)");

console.log("X coord at 180 degree:", getCircleX(Math.PI, 100), "(= 0)");
console.log("Y coord at 180 degree:", getCircleY(Math.PI, 100));

// Angle as radians on a circle (radius 100px)
//      
//       x <-- 0°, 2π or 0 radians => x: 0px, y: 100px
//       |
//       |
// x-----0-----x <-- 90°, π / 2 radians => x: 100px, y: 0px
//       |
//       |
//       x <-- 180°, π radians => x: 0px, y: -100px

看看这个https://en.wikipedia.org/wiki/Radian

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72270247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档