drag the gray dot
{ Is a bit jittery. I know why it is, I just can't be bothered to fix it. } all my own code and math