关于js的数学算法题?

发布于 2022-09-12 13:08:42 字数 339 浏览 18 评论 0

如下图所示在这个区域存在这样一个内切圆
image.png
给定不定个数(>=3)个点,这些点必须构成正多边形,如何求这些点的坐标?
并且在这个正多边形构成的圆上,在给定不定个数(>=3)个点,这些点必须构成正多边形,如何求这些点的坐标?再次重复
如何得到这三次给定点的坐标?
哪位大佬知道如何用js实现这个过程吗?
这里有个参考公式,正多边形内切圆的半径公式
image.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

勿挽旧人 2022-09-19 13:08:42

先说第一个正N边形

将圆心和多边形的各顶点相连,得到N个角度为A(A = 2π / N)的扇形。将其中一个扇形的左端置于圆的最高点,得坐标(r,2r)。顺时针看,该扇形的另一端为第二个点,可根据半径r及角度A,配合勾股定理算出坐标(r + rsinA, r + rcosA ),下一个以此类推(r + rsin2A, r + rcos2A)。算完右半边可以镜像得左半边

第二个正N边形的计算方案与第一个一样,唯二变化的是半径(这个根据你给的公式可以算)和上下留空,算y轴坐标的时候注意下就可以了

萌梦深 2022-09-19 13:08:42

这个问题描述是不清楚的,比如第一个问题,这里正多边形上的N个点是在定点位置还是边上任意一点(包括顶点),这里的要求是不同的,如果要求是顶点上,则这些点其实都属于某个圆上的点,则先找一个圆心和半径,再根据不同正多边形对应扇面角度可以很快确定相应点(以某个点为起始,其实是存在无穷可能的),如果是后一种情况,则会更复杂,但其实也可以用相应办法先确定正多边形(同时就确定了各个边),再抽取相应数量的点。
注意你的要求是给出相应的点的一个解,而并不是具体唯一的解(本身就有无穷解)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文