【发布时间】:2016-08-24 21:21:22
【问题描述】:
我正在尝试使用画布生成可变大小的多边形,但我在计算其中一些点时遇到了问题,这里是红色的点:
这是我当前的代码:
var x = 0;
var y = 0;
var size = 200;
var points = [[x + (size / 2), y],
[x + size, y + (size / 4)],
[x + size, y + size - (size / 4)],
[x + (size / 2), y + size],
[x, y + size - (size / 4)],
[x, y + (size / 4)]];
我明白了:
所以size / 4 和size / 2 是错误的...是否有某种公式来计算那些棘手的 4 点,使多边形完全适合圆形?
【问题讨论】:
-
size代表什么?六边形从一边到另一边的宽度,还是从角到角?请记住,六边形由六个 60-60-60 三角形组成。三角形高度的长度是边的长度乘以sqrt(3)/2。如果size是角对角,则表示其中一个三角形边长的两倍。从这些信息中,您应该能够弄清楚。不需要三角,因为角度“不错”。 :)