Yes, sure it is not working, because:

```
// cross(normal, (b-a)) is, in fact, (c-a) !!!!
sign( dot( cross(normal, b-a), c-a ) ) =
sign( dot( c-a,c-a ) ) =
sign( cos(0) ) = 1
```

You just need a target vector to compare the plane’s normal you already have.

edit: nonsense

I tried using this formula

normal = cross( (b - a),(c - a) );

sign( dot( cross( normal, (b - a) ), (c - a) ) );

but I’m always getting a positive number. It should return either positive or negative value based on the winding rule.

Can anybody help me on this.