Rotate an image in 3D space?

I started messing with Flash yesterday, and I tried to make an image that rotates horizontally in 3D space as you move your mouse left and right. What I did: Imported an image, put that image in a MovieClip, adjusted the position of the image and MovieClip container so that the pivot point would be centered, and attached the mouse to it so that it would rotate from -45 degrees to +45 degrees as you moved across the stage.

The result, however, is really weird. The picture doesn’t rotate so much as it skews. It looks like the 3D camera might not be pointing at it head-on. Or am I missing something else?

package {
	import flash.display.*;
	import flash.events.*;
	import flash.net.*;
	import flash.geom.Matrix;
	import flash.text.TextField;

	public class BitmapLoader extends MovieClip {

		private var loader:Loader;
		private var photo:Sprite;
		private var display_txt:TextField;
		
		public function BitmapLoader():void {
			stage.align = StageAlign.TOP_LEFT;
			stage.scaleMode = StageScaleMode.NO_SCALE;
			loader = new Loader();
			photo = new Sprite();
			display_txt = new TextField();
			loader.contentLoaderInfo.addEventListener(Event.COMPLETE, initListener);
			loader.load(new URLRequest("./images/dan.jpg"));
			photo.addChild(loader)
			addEventListener(Event.ENTER_FRAME, loop);
		}

		private function initListener (e:Event):void {
			addChild(photo);
			addChild(display_txt);
			loader.x = 0 - (loader.width / 2);
			loader.y = 0 - (loader.height / 2);
			photo.x = (stage.stageWidth / 2);
			photo.y = (stage.stageHeight / 2);
		}
		
		private function loop(e:Event):void {
			display_txt.text = String(photo.rotationY);
			photo.rotationY = ((mouseX / stage.stageWidth) * 90)  - 45;
		}

	}
}