Hi !
Featured games (85)
games approved by the League of Dukes
Games in Showcase (636)
Games in Android Showcase (178)
games submitted by our members
Games in WIP (686)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  [Java2D] findind x and Y after Rotation  (Read 964 times)
0 Members and 1 Guest are viewing this topic.
Offline alaslipknot
« Posted 2013-04-23 16:31:28 »

Hello everyone,

Determinate the rotation angle
angle = Math.atan2(gun.getY() - my, gun.getX() - mx) - Math.PI / 2;

Rotate :
g2d.rotate(gun.getA(), gun.getX() + 5, gun.getY() + 60);
g2d.drawRect(gun.getX(), gun.getY(), gun.getW(), gun.getH());

but when i trace the X and Y of the rotated rectangle, it always show the same values (unless if i moved left-right/up-down)
but during the rotation nothing changes
is there a way to find it ?
to clarify the problem  :
the rectangle is a "gun" and therefore i need to know the x and y value during the rotation to be able to launch bullets

PS :
i tried to rotate the bullets (i don't think it's the right way) but after i tried it, the result is very annoying,
i  had to write the code in the bottom of the paint method, otherwise, everything that i draw after it will rotate with it,(i tried drawing it with a different Graphics2D variable but still the same result)   it should be a fix for that and am sure am going to ask about it later  Tongue but for now, is there a way to find the new X and Y after rotation ??

Edit :
"ps" is fixed,
look at this post

now how to know the new X and Y  Roll Eyes ?

thank you  

"It's not at all important to get it right the first time. It's vitally important to get it right the last time."
Offline Zhon

Junior Devvie

Medals: 4

« Reply #1 - Posted 2013-04-23 19:57:46 »

I don't think I fully understood your problem, but this is what I do.

float angle = .... (you already have)
float velX = (float)Math.cos(angle) * speed;
float velY = (float)Math.sin(angle) * speed;

In the bullet's update method:

posX += velX;
posY += velY;

Online Roquen
« Reply #2 - Posted 2013-04-23 20:18:17 »

Angles hate you, hate them back (local search).
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline h3ckboy

JGO Coder

Medals: 5

« Reply #3 - Posted 2013-04-26 12:36:46 »

I'm also not sure about your question, but I'm gonna make an assumption that you are looking for  the tip of the gun's x and y?

If that is the case, then you just use your basic trigonometry knowledge:

Sin means the y value of an angle on a unit circle (r=1).
Cos means the x value.

In order to find the tip of the gun you would do this:

gunTipX = math.sin(gun.angle)*gun.length + gun.x;
gunTipY = math.cos(gun.angle)*gun.length + gun.y;

Hope I could be of help Wink.

If I misunderstood your question, then please clarify Smiley.
Pages: [1]
  ignore  |  Print  
You cannot reply to this message, because it is very, very old.

Dwinin (69 views)
2015-11-07 13:29:08

Rems19 (78 views)
2015-10-31 01:36:56

Rems19 (71 views)
2015-10-31 01:32:37

williamwoles (105 views)
2015-10-23 10:42:59

williamwoles (92 views)
2015-10-23 10:42:45

Jervac_ (106 views)
2015-10-18 23:29:12

DarkCart (133 views)
2015-10-16 00:58:11

KaiHH (116 views)
2015-10-11 14:10:14

KaiHH (155 views)
2015-10-11 13:26:18

BurntPizza (168 views)
2015-10-08 03:11:46
Rendering resources
by Roquen
2015-11-13 14:37:59

Rendering resources
by Roquen
2015-11-13 14:36:58

Math: Resources
by Roquen
2015-10-22 07:46:10

Networking Resources
by Roquen
2015-10-16 07:12:30

Rendering resources
by Roquen
2015-10-15 07:40:48

Math: Inequality properties
by Roquen
2015-10-01 13:30:46

Math: Inequality properties
by Roquen
2015-09-30 16:06:05

HotSpot Options
by Roquen
2015-08-29 11:33:11 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‑
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!