rough
rough copied to clipboard
`atan` versus `atan2`
Both dashed and zigzag use Math.atan:
const alpha = Math.atan((p2[1] - p1[1]) / (p2[0] - p1[0]));
It would seem that a generated vertical line would cause errors. Is there a reason for preferring this over the safer atan2 alternative?
const alpha = Math.atan2((p2[1] - p1[1]), (p2[0] - p1[0]));
You're correct atan2 would be the better option here, because I don't check for the denominator to be nonzero.
I think I have been getting away with it because it is unlikely in zigzag lines, and the randomness in the dashed lines.