Java-Gaming.org Hi !
 Featured games (84) games approved by the League of Dukes Games in Showcase (575) Games in Android Showcase (154) games submitted by our members Games in WIP (622) games currently in development
 News: Read the Java Gaming Resources, or peek at the official Java tutorials
Pages: [1]
 ignore  |  Print
 A little bit of math - Rotation  (Read 905 times) 0 Members and 1 Guest are viewing this topic.
Kronos

Junior Devvie

Medals: 1

 « Posted 2013-02-27 13:07:31 »

Hey guys,

I never listened to our maths teacher back in school time, now I could kick myself in the a** .

I got a laserbeam and at the end a burst (in this case a dot). This laserbeam is rotating from the center to all the edges and so on.
How can I calculate the new coordinates for the end of the beam, where should be displayed an image of a typical laser burst.

My first attempt (thought) was to use some Math.sin and cos. But I really do not know how to use them properly. Wikipedia couldn't help me neither, it's not game dev related enough. I hope you guys are patient and could help me with this, hopefully trivial, question.

Kronos

Kronos

Junior Devvie

Medals: 1

 « Reply #1 - Posted 2013-02-27 13:30:47 »

I was to quick writing this thread

I added a g.resetTransform(); before the burst image even could rotate...
however... is there an idiot secure mini tutorial for wanne-be game developers regarding cos(), sin() and PI, which you would recommend?
vbrain
 « Reply #2 - Posted 2013-02-27 15:12:28 »

Here's something I just whipped up.

 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21 `public float angle;public void update(){   angle += 0.5; //increase the degrees by 0.5 each update   if (angle >= 360)   {      angle = 0;   }}public void draw(Graphics g){   //if the width is longer than the height, use this, otherwise switch to   //screenHeight and centerY   int radiusOfScreen = screenWidth - centerX;   //convert degrees into radians to use with cos and sin   int endX = (int)(centerX + radiusOfScreen * Math.cos(Math.toRadians(angle)));   int endY = (int)(centerY + radiusOfScreen * Math.sin(Math.toRadians(angle)));   g.drawLine(centerX, centerY, endX, endY)}`
Kronos

Junior Devvie

Medals: 1

 « Reply #3 - Posted 2013-02-27 18:21:49 »

Thanks vbrain.

I came up with a new problem. How can I manage stop increasing my laser's beam width when it collidates with the frame bounds (or objetcs flying around). I do not know how to calculate the ending point of my Rectangle, when it is rotated. The beam currently goes endlessly into the wide nothing (out of frame)....

edit:

I think I made it. It looks good so far.

 1 `endPos.set((float)(x + width * Math.cos(Math.toRadians(rotation))), (float)(y + width * Math.sin(Math.toRadians(rotation))));`

width is the radius. This gives me a Point of the "circle" -> my rotation. for those who had the same problem, or will have the same problem in the future.

I am a one man show
Pages: [1]
 ignore  |  Print

You cannot reply to this message, because it is very, very old.

 BurntPizza (26 views) 2015-04-23 03:42:11 theagentd (29 views) 2015-04-22 16:23:07 Riven (44 views) 2015-04-16 10:48:47 Duke0200 (52 views) 2015-04-16 01:59:01 Fairy Tailz (38 views) 2015-04-14 20:13:12 Riven (41 views) 2015-04-12 21:36:37 bus hotdog (58 views) 2015-04-10 02:39:32 CopyableCougar4 (61 views) 2015-04-10 00:51:04 BurntPizza (60 views) 2015-04-06 22:06:58 ags1 (62 views) 2015-04-02 10:58:48
 theagentd 30x BurntPizza 16x wessles 15x 65K 11x Rayvolution 11x kingroka123 11x alwex 11x KevinWorkman 9x kevglass 8x phu004 8x Roquen 7x chrislo27 7x Hanksha 7x Riven 7x Olo 7x ra4king 7x
 How to: JGO Wikiby Mac702015-02-17 20:56:162D Dynamic Lighting2015-01-01 20:25:42How do I start Java Game Development?by gouessej2014-12-27 19:41:21Resources for WIP gamesby kpars2014-12-18 10:26:14Understanding relations between setOrigin, setScale and setPosition in libGdx2014-10-09 22:35:00Definite guide to supporting multiple device resolutions on Android (2014)2014-10-02 22:36:02List of Learning Resources2014-08-16 10:40:00List of Learning Resources2014-08-05 19:33:27
 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