# Another simple math question.

#### dudeim

##### New Member
Hey guys,

I again am having some problems with math.

Currently I'm calculating 3 points at a x radius around a spell casting unit, 3 projectiles should fly to those points, somehow though my calculations are wrong (as I'm no math genius I have no idea why it's not working or even if I'm doing it correct), this is what i do:

JASS:
``````
//calculating the starting angle .caster is the caster of the spell and .getY() basicly calls GetUnitY same for .getX
//.Y is the target Y of the spell cast (it can be both ground and unit) it&#039;s basicly GetSpellTargetY() same for .X
local real angle = bj_RADTODEG * Atan2(.caster.getY() - .Y, .caster.getX() - .X)

//this is how I calculate the target x,y positions the projectiles need to go to.
//700 is the circle radius I think it needs to go there atleast<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite7" alt=":p" title="Stick Out Tongue    :p" loading="lazy" data-shortname=":p" />
set x = .caster.getX() + 700 * Cos(angle)
set y = .caster.getY() + 700 * Sin(angle)``````

So these are my calculations and somehow the projectiles just fly to some random degree (though if I cast it at the same point the projectiles fly the same way).
So what am I doing wrong?

Thanks alot

#### Trollvottel

##### never aging title

It converts the angle vom radians to degrees ( Atan2 returns radians) but Cos and Sin take radians. bj_RADTODEG is just for GUI users.

Just remember 2*Pi := 360°

#### dudeim

##### New Member
Oooh I just C&Ped that part from some script that basicly did what I wanted, but gonna remove it and see how it works
Edit: changed the calc in the top post to new one (so just removing the bj_RADTODEG) but now it's firing towards the otherside of the unit so it's like angle+180 degrees somehow

#### Trollvottel

##### never aging title
Ye, thats how the Atan2 (and Atan) function works.

Atan2(.caster.getY() - .Y, .caster.getX() - .X)
Here .Y is the Origin and .caster.getY() is the target. Switch the positions so it is

Atan2(.Y -.caster.getY(),.X - .caster.getX())
or just do
Atan2(.caster.getY() - .Y, .caster.getX() - .X) + bj_PI

#### dudeim

##### New Member
Thanks it's working now

General chit-chat
Help Users
• No one is chatting at the moment.

### Members online

No members online now.