> if (((test>=0) && (test<=90)) || ((test>270) && (test<=360))){n_y=1;}
> else {n_y=-1;}
我需要三角函数的大小来确定落入特定象限的角度的三角函数的符号。
我的计划是用相同的东西替换上面的代码。
这是我想在伪代码中做的事情。
n_y = cos(test) / (magnitude of cos (test));
这会给我同样的东西。 Abs()只接受整数。任何帮助表示赞赏。
答案 0 :(得分:2)
我不知道您使用的Abs()
fabs from the C++ standard takes doubles just fine。
但是你真的不想要这么大,因为那时你会被困在做一个昂贵的师。
只需使用signum功能。
答案 1 :(得分:0)
您是否#include <cmath>
获得abs
的浮点重载?
至于找到象限,如果0 <= test <= 360
,并且您想要测试90 < test <= 270
,请使用90 < test && test <= 270
。您目前正在测试的两个不连续范围之间存在连续范围。但是,您的特定示例非对称地定义了事物,因为它映射0 =&gt; 1和270 =&gt; -1