如何知道给定两个顶点的所有6个六边形顶点?

时间:2018-06-02 20:27:27

标签: geometry

我试图让程序绘制一个六边形,该程序应该让用户只输入两个点的坐标,我会假设这些点是一个边的终端,那么我需要计算其他四个的坐标点,但怎么样? P.S:我使用包含绘制多边形的库graphics.h,它需要2个x和y坐标数组用于所有点

1 个答案:

答案 0 :(得分:1)

给定两个点(x1,y1),(x2,y2),六边形上的下一个点可以用公式计算

dx = x2 - x1
dy = y2 - y1
x3 = x2 + ((√3)/2) dx - (1/2) dy
y3 = y2 + (1/2) dx + ((√3)/2) dy

这些来自一般旋转公式;注意cos 60°=(√3)/ 2和sin 60°= 1/2。