Java-Gaming.org Hi !
 Featured games (90) games approved by the League of Dukes Games in Showcase (744) Games in Android Showcase (225) games submitted by our members Games in WIP (825) games currently in development
 News: Read the Java Gaming Resources, or peek at the official Java tutorials
Pages: [1]
 ignore  |  Print
 angle in degree  from two mouseClick point  (Read 3439 times) 0 Members and 1 Guest are viewing this topic.
lbrinon

Junior Newbie

Java games rock!

 « Posted 2002-10-31 07:44:19 »

hello ,

I search how to obtain degree information from two location of point in my applet for ordinal direction for sprite .

I trie :

public class Angle {

int pointOneX = 100;        // ->
int pointOneY = 100;        // v

int pointTwoX = 90;        // ->
int pointTwoY = 58;        // v

double distanceX = 0;
double distanceY = 0;
double distance = 0;

public Angle() {

calculDistance();
calculAngle();
}

private void calculDistance() {

distanceX = pointTwoX - pointOneX;
distanceY = pointTwoY - pointOneY;

distance = Math.sqrt(distanceX * distanceX + distanceY * distanceY);

}

private void calculAngle() {

double startAngle = (int)Math.toDegrees(Math.asin(distanceY / distance));

System.out.println(" startAngle : " + startAngle);

}

public static void main(String[] args) {

new Angle();
}

}

but the result is not very helpfull.

have you a solution ? thank you very much

Captain-Goatse

Junior Devvie

I suck at teh 2D. XBOX IS BIG LOL!111

 « Reply #1 - Posted 2002-10-31 08:12:11 »

Ok, since I have spent endless hours on this, i know this by my heart.

atan2(deltay/dealtax)

(my example)
so you have the static position lets say the position of your character and then you take the mouseX cordinate - positionY and then divide it by mouseY-positionY and now you gots the polar angle information.

It works the same way with anything. Just remember atan2(change in x/ change in y)

I suggest using atan2 since atan1 is not good for this situation. It will "flip" on the negative axis.
lbrinon

Junior Newbie

Java games rock!

 « Reply #2 - Posted 2002-10-31 08:59:41 »

ok and i trie this :

i don' t compile with atan2:

int rotateAngle=(int)java.lang.Math.round(java.lang.Math.atan2(((double)(pointTwoX - pointOneY)) / ((double)(pointTwoY - pointOneY))));

because atan2 take two double in parameter .

with atan compile but the result is not my solution :

int rotateAngle=(int)java.lang.Math.round(java.lang.Math.atan(((double)(pointTwoX - pointOneY)) / ((double)(pointTwoY - pointOneY)))*180/java.lang.Math.PI);

you have the same example with atan2 ?
thank you very much
lbrinon

Junior Newbie

Java games rock!

 « Reply #3 - Posted 2002-10-31 10:03:29 »

Ok sorry now i have my degree with your solution :

int rotateAngle=(int)java.lang.Math.round(java.lang.Math.atan2(((pointTwoX - pointOneY)) , ((pointTwoY - pointOneY)))*360/java.lang.Math.PI);

now i can test the angle for choose good animationStrip for my sprite !

my code is good or have you a more speed solution ?

Thank you captain.
Captain-Goatse

Junior Devvie

I suck at teh 2D. XBOX IS BIG LOL!111

 « Reply #4 - Posted 2002-10-31 10:41:41 »

Its quite fast. I don't think you can optimize the math itself, the things that matter are *where* you use it and *how*. I haven't really optimized it, but I think speed wise you should be quite okay even with that.
Pages: [1]
 ignore  |  Print

 Ecumene (145 views) 2017-09-30 02:57:34 theagentd (213 views) 2017-09-26 18:23:31 cybrmynd (294 views) 2017-08-02 12:28:51 cybrmynd (284 views) 2017-08-02 12:19:43 cybrmynd (294 views) 2017-08-02 12:18:09 Sralse (287 views) 2017-07-25 17:13:48 Archive (966 views) 2017-04-27 17:45:51 buddyBro (1092 views) 2017-04-05 03:38:00 CopyableCougar4 (1663 views) 2017-03-24 15:39:42 theagentd (1425 views) 2017-03-24 15:32:08
 KaiHH 24x Spasi 15x SHC 12x h.pernpeintner 11x princec 11x Slyth2727 11x Mac70 9x Guerra2442 8x orangepascal 8x elect 6x cygnus 6x girthquake 6x Apo 5x abcdef 4x KevinWorkman 4x FabulousFellini 3x
 Java Gaming Resourcesby philfrei2017-12-05 19:38:37Java Gaming Resourcesby philfrei2017-12-05 19:37:39Java Gaming Resourcesby philfrei2017-12-05 19:36:10Java Gaming Resourcesby philfrei2017-12-05 19:33:10List of Learning Resourcesby elect2017-03-13 14:05:44List of Learning Resourcesby elect2017-03-13 14:04:45SF/X Librariesby philfrei2017-03-02 08:45:19SF/X Librariesby philfrei2017-03-02 08:44:05
 java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org