Is this code correct or logically sound?
```D
import std;
enum {////side/depth/height and side/height
x,//0
y,//1
z //2
}
/**
Indicates wether a triangle faces an imaginary view point.
*/
bool triangleFacesCamera(float[3] tA, float[3] tB, float[3] tC) {
float r1, r2;
r1 = atan2(tB[x] - tA[x], tB[z] - tA[z]);//tried swapping
parameters without success
r2 = atan2(tC[x] - tB[x], tC[z] - tB[z]);//also tried with tA as
substraction 2nd operand, with same/similar results.
//trying with both is still broken, but appears to change the
breakage pattern.
r2 -= r1;
return r2 > 0;
}
```
For context, it is trying to reproduce an old algorithm that does
the same thing :
```D
//in D pseudo code
extern short sus(byte A, byte B){
r0 = sus(tB[y] - tA[y], tB[x] - tA[x]);
r1 = sus(tC[y] - tA[y], tC[x] - tA[x]);
r1 -= r0;
return r1 > 0;
}
```
`sus` is named so because it makes use of `atan` and a premade
table that *looks like* `tan(a*(a*5.09...))` but is impossible to
exactly reproduce for me.(on a graph it looks like tan but
crammed to loop only four/sixteen/sixtyfour times at τ/4,π,τ)
Trying to parse both `atan2` and `sus` with `(sin(angle),
cos(angle))` as arguments[1] shows that atan2 outputs it as an
angle in `-π~π` angle representation but `sus`'s output differs
in that it looks like `sin(x*2)`.
I'd add images to better illustrate it but do not know how...
Big thanks
[1] https://run.dlang.io/is/xR8TcE
ps: is it normal that sometimes posting has a very long delay?
when it happens it is as if the post has gone nowhere but then it
suddenly appears much later, which can cause confusion and
duplicate posting, oof.