【发布时间】:2014-06-17 21:59:37
【问题描述】:
这个问题背后的数学问题已经被问过很多次了,所以这并不是我所追求的。相反,我正在尝试将用于确定这些点的等式编程到 JavaScript 中的循环中,以便我可以在圆周围均匀地显示点。
因此,对于点的 X 和 Y 位置的方程:
pointX = r * cos(theta) + centerX
pointY = r * sin(theta) + centerY
我应该可以用这个来计算它:
var centerX = 300;
var centerY = 175;
var radius = 100;
var numberOfPoints = 8;
var theta = 360/numberOfPoints;
for ( var i = 1; i <= numberOfPoints; i++ ) {
pointX = ( radius * Math.cos(theta * i) + centerX );
pointY = ( radius * Math.sin(theta * i) + centerY );
// Draw point ( pointX , pointY )
}
它应该给我沿周长的 8 个点的 x,y 坐标,彼此呈 45° 分布。但这不起作用,我不明白为什么。
这是我得到的输出(使用 HTML5 Canvas 元素)。这些点应该位于最里面的红色圆圈上,因为那个有一个
不正确:
当它“应该”看起来像这样(虽然这只有 1 点,手动放置):
正确:
有人可以帮我吗?我学习 trig 已经有好几年了,但即使查看其他示例(来自各种语言),我也不明白为什么这不起作用。
【问题讨论】:
-
明显吗?弧度与度数(只是猜测)
-
感谢 Llama 先生的编辑协助!
-
我已编辑从问题中删除您的解决方案,因为您将其发布为答案。感谢您在下面分享您的解决方案作为答案!
-
@Aurora0001 ....当然,如果这很重要,那就去做吧。我的意思是,在这一点上(三年多后),我想它是相关的,哈哈哈