OpenGL in Delphi - angle measurement
提示:角度显示
核心源码
提示:这里可以添加技术整体架构
procedure TForm1.DrawCoords(X: integer; Y: integer);
var
innerangle, angle: glFloat;
begin
glColor3f(0.0, 0.0, 0.0);
gllinewidth(5);
// Main
glBegin(GL_LINES);
glvertex2i(300, 200);
glvertex2i(500, 200);
glend;
// Rotating arm
glBegin(GL_LINES);
glvertex2i(300, 200);
glvertex2i(X, Y);
glend;
gllinewidth(1);
// Cos angle:
angle := measure(300, 200, X, 200) / measure(X, Y, 300, 200);
// Which quadrant are we in?
if X < 300 then
begin
innerangle := 180 - (ArcCos(angle) * 180 / pi);
if Y > 200 then
inne