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