I'm having an issue where I have say, an object in the middle, then I want to shoot a projectile out from the object. I did a lot of trig/geometry to get the proper angles & lengths of the sides for this "invisible triangle" so to speak, but I'm having an issue with the velocities of the projectiles.

If I do rise over run, then the velocity moves much too quickly since my canvas is only 800 X 600. If I try to make this number very tiny by dividing it by a very large number, then it tends to ruin the effect since pixels cannot move fractions/decimals, so I essentially have to keep this number above 0 or it will ignore that velocity entirely.

For example, if I have a rise over run of:

```
rise = 800
run = 50

```

If I divide that by 10, my velocity.X = 5 but my velocity.Y = 80 (will be off the canvas within a second). If I divide in by a larger number, say 100, then velocity.Y is now 8 (still fast, but more manageable), but velocity.X = 0.5, which will round to 0 since drawRectangle pixel points need to be integers. So that makes this projectile travel up at a rate of 8 and it does not travel right because it rounds to 0.

I looked into the idea of increasing my velocities for both by the same rate until both were greater than 0, but this would result in (1,16), so likely it will move off the screen very quickly again and/or appear as though it was never fired at all.

Is there a good way to handle this situation?