private void shootSingleBeam(int direct, float angle) {
		float x = (float) boundary.x;
		float y = (float) boundary.y;
		float w = (float) boundary.width;
		float h = (float) boundary.height;
		switch (direct) {
		case LightSource.WEST:
			addPhotonAtAngle(x, y + h * 0.5f, angle);
			break;
		case LightSource.EAST:
			addPhotonAtAngle(x + w, y + h * 0.5f, angle);
			break;
		case LightSource.NORTH:
			addPhotonAtAngle(x + w * 0.5f, y, angle);
			break;
		case LightSource.SOUTH:
			addPhotonAtAngle(x + w * 0.5f, y + h, angle);
			break;
		case LightSource.OTHER:
			shootAtAngle(0, 0, 0, 0, angle);
			break;
		}
	}