Box2d Body to follow mouse movement I am trying a box2d body to rotate following the mouse. Here's an image to clarify what I mean. The red and blue circles are current point of the mouse and the body (of corresponding color) moving rotating to follow it. Basically the rectangle should rotate with its one end pointed towards where the mouse pointer is. Here's my code so far, World world Body body, bullet Box2DDebugRenderer debugRenderer OrthographicCamera camera Override public void create() world new World(new Vector2(0, 0f), true) debugRenderer new Box2DDebugRenderer() float w Gdx.graphics.getWidth() float h Gdx.graphics.getHeight() BodyDef bodyDef new BodyDef() bodyDef.type BodyDef.BodyType.DynamicBody bodyDef.position.set(10, 10) body world.createBody(bodyDef) PolygonShape shape new PolygonShape() shape.setAsBox(2, 5) FixtureDef fixtureDef new FixtureDef() fixtureDef.shape shape fixtureDef.density 1f Fixture fixture body.createFixture(fixtureDef) shape.dispose() Gdx.input.setInputProcessor(this) camera new OrthographicCamera(200, 100 (h w)) camera.position.set(camera.viewportWidth 2f, camera.viewportHeight 2f, 0) camera.update() Override public void render() Gdx.gl.glClearColor(1, 1, 1, 1) Gdx.gl.glClear(GL20.GL COLOR BUFFER BIT) world.step(Gdx.graphics.getDeltaTime(), 6, 2) camera.update() debugRenderer.render(world, camera.combined) Override public boolean mouseMoved(int screenX, int screenY) int mouseX screenX int mouseY Gdx.graphics.getHeight() screenY float rotateAngle MathUtils.radiansToDegrees MathUtils.atan2((float) mouseY (float) body.getPosition().y, (float) mouseX (float) body.getPosition().x) body.setTransform(body.getPosition(), rotateAngle 57.2957795f) return true And here's a gif of how it appears now. as you can see the body gets skewed and also doesn't rotate properly. What am I missing?