C有个函数叫atan2(double y, double x),返回的是double类型的弧度值,范围在-pi到+pi之间。
详情参阅http://www.cplusplus.com/reference/cmath/atan2/
先把你的程序整理一下,咱们再一起讨论吧:G90 G54 X-20. Y18. M3 S2500
G41D1G01X-10.Y4.5F600
X83.,C1
Y-4.5,C1
X0.,C1.
Y4.5,C1
G40
整理好之后,发现第6句程序段(Y4.5,C1)中多了个“,C1”,
或者说在第6程序段之后缺少一个坐标,
咱们要知道,不管是C角(斜角)还是R角(圆角)都必须要有两个元素参与,机床执行到第6程序段时,找不着下一个坐标,判断不了与哪一条直线倒角,导致机床报警FANUC报警内容大致为:倒角(倒圆)之后,找不到移动位置。
再顺便说一下,我看到你的C1有的加点,有的没加点,大多数机床在不加点的情况下,机床只默认移动一个脉冲当量,一个脉冲当量不一定是1MM,多数情况下一个脉冲当量只有0.001MM的移动量,视机床系统设置而定。
这个应该简单的啊,输入三个边长,根据这3条边长算出面积,然后在把面积平方,输出来,注意输出是整数,计算过程注意数据类型。面积: S=ah/2
已知三角形三边a,b,c,则(海伦公式)(p=(a+b+c)/2)
S=√[p(p-a)(p-b)(p-c)]=(1/4)√[(a+b+c)(a+b-c)(a+c-b)(b+c-a)]