From ac6d5058c4b5b7180806a38ab89c052131a300a7 Mon Sep 17 00:00:00 2001 From: Huangshize Date: Sat, 23 Jun 2018 17:31:25 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=AC=E5=85=AB=E7=AB=A0=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/08-camera.md | 350 +++++++++++++++++++ source/_static/08/actual_movement.png | Bin 0 -> 6676 bytes source/_static/08/camera_movement.png | Bin 0 -> 5538 bytes source/_static/08/cubes.png | Bin 0 -> 45661 bytes source/_static/08/new_transf_eq.png | Bin 0 -> 6977 bytes source/_static/08/prev_transformation_eq.png | Bin 0 -> 4652 bytes source/_static/08/roll_pitch_yaw.png | Bin 0 -> 11476 bytes 7 files changed, 350 insertions(+) create mode 100644 source/08-camera.md create mode 100644 source/_static/08/actual_movement.png create mode 100644 source/_static/08/camera_movement.png create mode 100644 source/_static/08/cubes.png create mode 100644 source/_static/08/new_transf_eq.png create mode 100644 source/_static/08/prev_transformation_eq.png create mode 100644 source/_static/08/roll_pitch_yaw.png diff --git a/source/08-camera.md b/source/08-camera.md new file mode 100644 index 0000000..65c1b6d --- /dev/null +++ b/source/08-camera.md @@ -0,0 +1,350 @@ +# 镜头(Camera) + +在这个章节我们将学到如何渲染3D场景的画面,这个能力就像一个镜头可以在3D世界穿梭,然而实际上是用来说明他的一种编程语言。 + +但是如果你尝试在OpenGL寻找中这些特定的镜头功能,你会发现这根本不是镜头,换句话说镜头一直是固定住的,以屏幕\(0, 0, 0\)的位置为中心点 + +之所以这样,我们应该模拟出一个镜头可以在三维度空间中移动的镜头。但是如何做到呢?但是镜头是不能移动的我们必须要移动全部的实体在我们的3D世界中。换句话说,如果移动不了镜头我们得移动整个世界。 + +因此,假设我们沿着Z轴移动镜头从\(Cx, Cy, Cz\)到\(Cx, Cy, Cz+dz\),从而靠近在\(Ox, Oy, Oz\)放置的目标 + +![镜头的运动](_static/08/camera_movement.png) + +我们将要做的是如何精确的移动镜头移动到相反的方向\(在我们的3D空间中的所有物体\)。想想看,其实就像物体在跑步机上跑步一样。 + +![实际的运动](_static/08/actual_movement.png) + +镜头可以沿着三个轴\(x, y and z\),也可以沿着他们旋转\(滚动, 俯视和偏斜"yaw"\). + +![侧倾和偏斜](_static/08/roll_pitch_yaw.png) + +所以从基本上我们必须做的就是让移动和旋转对于我们所设置的3D世界全部实体。我们应该怎么做捏?答案是用另外一种转化方法,把他变化所有在镜头运动方向上相反的顶点,从而根据镜头的旋转进而旋转他们。当然,这将要用另外一个矩阵,所谓的视图矩阵来完成。这个矩阵首先执行平移,然后沿着轴线进行旋转。 + +让我们看看如何构造这个矩阵。如果你记得变化章节(第6章)的转换方程式这样的: + +$$Transf = \lbrack ProjMatrix \rbrack \cdot \lbrack TranslationMatrix \rbrack \cdot \lbrack RotationMatrix \rbrack \cdot \lbrack ScaleMatrix \rbrack = \lbrack ProjMatrix \rbrack \cdot \lbrack WorldMatrix \rbrack$$ + +在这投影的相乘矩阵之前,应该先应用视图矩阵,之后我们的方程式应该是这样的: + +$$Transf = \lbrack ProjMatrix \rbrack \cdot \lbrack ViewMatrix \rbrack \cdot \lbrack TranslationMatrix \rbrack \cdot \lbrack RotationMatrix \rbrack \cdot \lbrack ScaleMatrix \rbrack = \lbrack ProjMatrix \rbrack \cdot \lbrack ViewMatrix \rbrack \cdot \lbrack WorldMatrix \rbrack $$ + +现在有三个矩阵,我们应该思考一下这些矩阵的生命的周期。在我们的游戏运行的时候,投影矩阵不应该改变的太多,在情况最不好的时候,每个渲染都要调用才可能改变一次。如果镜头移动,则视图矩阵可以在每一次渲染改变一次。视图矩阵每`GameItem`项改变一次,所以每次渲染调用都会改变许多次。 + +因此,如何把每一个矩阵推到顶点着色器呢?您可能会看到一些代码,使用三个统一的每一个矩阵,但原则上,最有效的方法是结合投影和视图矩阵,我们称之为`PV`矩阵,并推动`world`和`PV`矩阵到我们的着色器。通过这种方法,我们将有可以与世界坐标一起进行并且可以避免一些额外的运算。 + +实际上,最方便的方法是将视图与世界矩阵相结合。为什么会这样?因为要记住整个镜头的概念就是戏法,但要做的是推动整个世界来模拟世界的位移和只显示一小部分的3D世界。因此,如果直接联合世界坐标一起工作,这样可能会引起远离中心点的世界坐标系,会遇到一些精度的问题。如果在所谓的镜头空间中工作利用点的性质,虽然远离世界的中心点,但也靠近镜头。可以将视图和世界矩阵相结合的矩阵通常被称为模型视图矩阵。 + +让我们开始修改代码来支持镜头。首先,先创建一个新的类,称为`Camera`,它将确保持相机的位置与旋转的方向。该类将提供新位置或旋转方向\(`setPosition` or `setRotation`\)的方法,或在当前状态\(`movePosition` and `moveRotation`\)上用偏移量更新这些值。 + + +```java +package org.lwjglb.engine.graph; + +import org.joml.Vector3f; + +public class Camera { + + private final Vector3f position; + + private final Vector3f rotation; + + public Camera() { + position = new Vector3f(0, 0, 0); + rotation = new Vector3f(0, 0, 0); + } + + public Camera(Vector3f position, Vector3f rotation) { + this.position = position; + this.rotation = rotation; + } + + public Vector3f getPosition() { + return position; + } + + public void setPosition(float x, float y, float z) { + position.x = x; + position.y = y; + position.z = z; + } + + public void movePosition(float offsetX, float offsetY, float offsetZ) { + if ( offsetZ != 0 ) { + position.x += (float)Math.sin(Math.toRadians(rotation.y)) * -1.0f * offsetZ; + position.z += (float)Math.cos(Math.toRadians(rotation.y)) * offsetZ; + } + if ( offsetX != 0) { + position.x += (float)Math.sin(Math.toRadians(rotation.y - 90)) * -1.0f * offsetX; + position.z += (float)Math.cos(Math.toRadians(rotation.y - 90)) * offsetX; + } + position.y += offsetY; + } + + public Vector3f getRotation() { + return rotation; + } + + public void setRotation(float x, float y, float z) { + rotation.x = x; + rotation.y = y; + rotation.z = z; + } + + public void moveRotation(float offsetX, float offsetY, float offsetZ) { + rotation.x += offsetX; + rotation.y += offsetY; + rotation.z += offsetZ; + } +} +``` + +下一步 `Transformation` 到类中,将用一个新矩阵来保存视图矩阵的数值。 + +```java +private final Matrix4f viewMatrix; +``` + +我们将要提供一种更新这个值的方法。与投影矩阵一样,这个矩阵对于渲染周期中要渲染的所面对的对象都是相同的。 + +```java +public Matrix4f getViewMatrix(Camera camera) { + Vector3f cameraPos = camera.getPosition(); + Vector3f rotation = camera.getRotation(); + + viewMatrix.identity(); + // First do the rotation so camera rotates over its position + viewMatrix.rotate((float)Math.toRadians(rotation.x), new Vector3f(1, 0, 0)) + .rotate((float)Math.toRadians(rotation.y), new Vector3f(0, 1, 0)); + // Then do the translation + viewMatrix.translate(-cameraPos.x, -cameraPos.y, -cameraPos.z); + return viewMatrix; +} +``` + +正如你所看到的,我们首先需要做旋转,然后翻译。如果我们做相反的事情,我们不会沿着镜头位置旋转,而是沿着坐标原点旋转。请注意,在`Camera`类的`movePosition`方法中,我们不只是简单地增加相机位置的偏移量。我们还考虑了沿Y轴的旋转,偏航,以便计算最终位置。如果我们只是通过偏移来增加相机的位置,相机就不会朝着它的方向移动。 + + + +正如你所看到的,我们首先需要做旋转,然后翻译。如果我们做相反的事情,我们不会沿着镜头位置旋转,而是沿着坐标原点旋转。请注意,在“镜头”类的“移动位置”方法中,我们不只是简单地增加相机位置的偏移量。我们还考虑了沿Y轴的旋转,偏航,以便计算最终位置。如果我们只是通过偏移来增加相机的位置,相机就不会朝着它的方向移动。 + +除了上面提到的,我们这里没有一个完全自由移动的镜头\(例如,如果我们沿着X轴旋转,当我们向前移动时,镜头不会在空中向上或向下移动\)。这将在后面的章节中完成,因为这有点复杂。 + +最后,我们将删除以前的方法`getWorldMatrix`,并添加一个新的名为`getModelViewMatrix`的方法。 + +```java +public Matrix4f getModelViewMatrix(GameItem gameItem, Matrix4f viewMatrix) { + Vector3f rotation = gameItem.getRotation(); + modelViewMatrix.identity().translate(gameItem.getPosition()). + rotateX((float)Math.toRadians(-rotation.x)). + rotateY((float)Math.toRadians(-rotation.y)). + rotateZ((float)Math.toRadians(-rotation.z)). + scale(gameItem.getScale()); + Matrix4f viewCurr = new Matrix4f(viewMatrix); + return viewCurr.mul(modelViewMatrix); +} +``` + + +这个`getModelViewMatrix`方法将在每个`GameItem`实例中调用,因此我们必须对视图矩阵的副本进行处理,因此在每次调用中都不会积累转换\(记住`Matrix4f`类不是不可变的\). + + +在`Renderer`类的`render`方法中,在投影矩阵更新之后,我们只需要根据镜头的更新视图矩阵的值,。 + +```java +// Update projection Matrix +Matrix4f projectionMatrix = transformation.getProjectionMatrix(FOV, window.getWidth(), window.getHeight(), Z_NEAR, Z_FAR); +shaderProgram.setUniform("projectionMatrix", projectionMatrix); + +// Update view Matrix +Matrix4f viewMatrix = transformation.getViewMatrix(camera); + +shaderProgram.setUniform("texture_sampler", 0); +// Render each gameItem +for(GameItem gameItem : gameItems) { + // Set model view matrix for this item + Matrix4f modelViewMatrix = transformation.getModelViewMatrix(gameItem, viewMatrix); + shaderProgram.setUniform("modelViewMatrix", modelViewMatrix); + // Render the mes for this game item + gameItem.getMesh().render(); +} +``` + +就是这样对于基本代码支持镜头的概念。现在我们需要用它。这样可以改变输入处理和更新相机的方式。我们将设置以下控件: + +* 键“A”和“D”到移动镜头的左边和右边\(x axis\)。 +* 键“W”和“S”到移动镜头的前面和后面\(z axis\)。 +* 键“Z”和“X”到移动镜头的上面和下面的\(y axis\)。 + + +当鼠标按下右键时,我们可以使用鼠标位置沿X和Y轴旋转镜头。 +正如你所看到的,我们将首次使用鼠标。我们将创建一个名为`MouseInput`的新类,该类将封装鼠标访问的代码。 + +```java +package org.lwjglb.engine; + +import org.joml.Vector2d; +import org.joml.Vector2f; +import static org.lwjgl.glfw.GLFW.*; + +public class MouseInput { + + private final Vector2d previousPos; + + private final Vector2d currentPos; + + private final Vector2f displVec; + + private boolean inWindow = false; + + private boolean leftButtonPressed = false; + + private boolean rightButtonPressed = false; + + public MouseInput() { + previousPos = new Vector2d(-1, -1); + currentPos = new Vector2d(0, 0); + displVec = new Vector2f(); + } + + public void init(Window window) { + glfwSetCursorPosCallback(window.getWindowHandle(), (windowHandle, xpos, ypos) -> { + currentPos.x = xpos; + currentPos.y = ypos; + }); + glfwSetCursorEnterCallback(window.getWindowHandle(), (windowHandle, entered) -> { + inWindow = entered; + }); + glfwSetMouseButtonCallback(window.getWindowHandle(), (windowHandle, button, action, mode) -> { + leftButtonPressed = button == GLFW_MOUSE_BUTTON_1 && action == GLFW_PRESS; + rightButtonPressed = button == GLFW_MOUSE_BUTTON_2 && action == GLFW_PRESS; + }); + } + + public Vector2f getDisplVec() { + return displVec; + } + + public void input(Window window) { + displVec.x = 0; + displVec.y = 0; + if (previousPos.x > 0 && previousPos.y > 0 && inWindow) { + double deltax = currentPos.x - previousPos.x; + double deltay = currentPos.y - previousPos.y; + boolean rotateX = deltax != 0; + boolean rotateY = deltay != 0; + if (rotateX) { + displVec.y = (float) deltax; + } + if (rotateY) { + displVec.x = (float) deltay; + } + } + previousPos.x = currentPos.x; + previousPos.y = currentPos.y; + } + + public boolean isLeftButtonPressed() { + return leftButtonPressed; + } + + public boolean isRightButtonPressed() { + return rightButtonPressed; + } +} +``` + +`MouseInput`类提供了一个初始化过程中应该调用的`init`方法,并注册一组回调来处理鼠标事件: + + +* `glfwSetCursorPosCallback`:注册一个监听器,该监听器将在鼠标移动时调用。 + +* `glfwSetCursorEnterCallback`:注册一个监听器,该监听器将在鼠标进入我们的窗口时调用。即使鼠标不在我们的窗口,我们也会收到鼠标事件。当鼠标在我们的窗口中时,我们使用这个监听器来进行跟踪。 + +* `glfwSetMouseButtonCallback`:注册监听器在按下鼠标按钮时将调用。 + +`MouseInput`类提供了一种输入方法,在处理游戏输入时应该调用该方法。该方法计算鼠标从先前位置的位移,并将其存储到 `Vector2f` `displVec`变量中,以便它可以被我们的游戏使用。 + +`MouseInput`类将被实例化在我们的`GameEngine`类中,并且将作为游戏实现的`init`和`update`方法中的参数传递(因此我们需要相应地更改接口)。 + +```java +void input(Window window, MouseInput mouseInput); + +void update(float interval, MouseInput mouseInput); +``` + +鼠标输入将在`GameEngine`类的输入方法并传送控制到游戏执行前被处理。 + +```java +protected void input() { + mouseInput.input(window); + gameLogic.input(window, mouseInput); +} +``` + +现在,已经准备好更新我们的`DummyGame`类处理键盘和鼠标输入。 该类的输入方法将如下所示: + +```java +@Override +public void input(Window window, MouseInput mouseInput) { + cameraInc.set(0, 0, 0); + if (window.isKeyPressed(GLFW_KEY_W)) { + cameraInc.z = -1; + } else if (window.isKeyPressed(GLFW_KEY_S)) { + cameraInc.z = 1; + } + if (window.isKeyPressed(GLFW_KEY_A)) { + cameraInc.x = -1; + } else if (window.isKeyPressed(GLFW_KEY_D)) { + cameraInc.x = 1; + } + if (window.isKeyPressed(GLFW_KEY_Z)) { + cameraInc.y = -1; + } else if (window.isKeyPressed(GLFW_KEY_X)) { + cameraInc.y = 1; + } +} +``` + +现在,已经准备好更新我们的`DummyGame`类处理键盘和鼠标输入。 该类的输入方法将如下所示: + +```java +@Override +public void update(float interval, MouseInput mouseInput) { + // Update camera position + camera.movePosition(cameraInc.x * CAMERA_POS_STEP, + cameraInc.y * CAMERA_POS_STEP, + cameraInc.z * CAMERA_POS_STEP); + + // Update camera based on mouse + if (mouseInput.isRightButtonPressed()) { + Vector2f rotVec = mouseInput.getDisplVec(); + camera.moveRotation(rotVec.x * MOUSE_SENSITIVITY, rotVec.y * MOUSE_SENSITIVITY, 0); + } +} +``` +现在我们可以为我们的世界添加更多的立方体,将它们放置在特定位置并使用我们的新相机进行播放。 正如你可以看到所有的立方体共享相同的网格。 + +```java +GameItem gameItem1 = new GameItem(mesh); +gameItem1.setScale(0.5f); +gameItem1.setPosition(0, 0, -2); + +GameItem gameItem2 = new GameItem(mesh); +gameItem2.setScale(0.5f); +gameItem2.setPosition(0.5f, 0.5f, -2); + +GameItem gameItem3 = new GameItem(mesh); +gameItem3.setScale(0.5f); +gameItem3.setPosition(0, 0, -2.5f); + +GameItem gameItem4 = new GameItem(mesh); +gameItem4.setScale(0.5f); + +gameItem4.setPosition(0.5f, 0, -2.5f); +gameItems = new GameItem[]{gameItem1, gameItem2, gameItem3, gameItem4}; +``` + +你会得到这样的东西。 + +![方块](_static/08/cubes.png) + diff --git a/source/_static/08/actual_movement.png b/source/_static/08/actual_movement.png new file mode 100644 index 0000000000000000000000000000000000000000..d23e177e2507436755fb990ef4122bd1a7e9e849 GIT binary patch literal 6676 zcmYM3cUTk8)4&gq-V_j&E*%k(B1j3LN)Jd=x`Ggj^cG0yND(pgVhBx&pnwp1w*V>~ zq$6OVhh9SGJ^Vhu=l$by*?sPIXJ>Y1XFeBe0MnqQVxHg~9)c6vW_f zETIhn-iW*nHB^A|KK5m>aS5)hrwjm&Z=V9d^%5;L zWn+Z(+E1u1``A9Y$MINXl8;t2|L^wXLM8HouvdF7x;xb+;cU(2H0qZ$^?A~=tMA`_ z^zgBc{(?!a)Uy{Ke2OUR?c#(k+ff=S!{ussHt<=J@Qt&GpPBL@gyTep{^^Mpd=Gv` zlF--UzaD&ca!3aNN-<~pXP{6N)VA~h5V`K{jyT?5Yi|$5OM=Zf?Kza982|QSKg6?b z@#F-BK-3$Se3b(LwO>a^jTIGW=D_@3*C$Vi!pH$`b6#Fvc7*29DrDX(z{e*g9sTN+ z<6^*d00?(TYnPXoM{`1c&+m>Q-wu7IuI{H$0DvcfXD6~^23zmKq6?a5jBYW*9UL6P zZU%OBbuGC8z-3n4kT(KxPg=UOn{R%PleVG3lI~(ET{IVTfwXih1AMPx2G`K=4GBxl z#^G=ktw%40i2!cLNxa(Yjhf=x8KV;8wDk0V0DF7Ve{W9WrJ&GRR0X7_5^iVrXL~z| zS!iV-+nWbmZ?1t*O1HiF((0;(rR85WBRM;Ibq?Bw>Z!>$?BFU)ON>n)J`9je@2+{~ zrwzyF{cLS)%qJ~f${QlNOwDBz6f(A1z_*+rXS_V

fRSkEJyn9}C?-oM}NSB!
9j zM?!h5aUtYgp=p@cTJ4T|&Zn4oHY}~oiPNU0&Rk;R6)k686IVBNa#4dhD>JiSYCuc` zIl*FP@_O@myU;p6`^na?H@F9y6eT0h2OL#rMUU2M3<70CaxG$#hd-WlM{&|7rF!R- zBtvPfgwne$iIe@TXpBp3(XtV+9RmR%Ca-5TN70eI-aQNOTAb@Qf@AFRH=*l^2?1X| zI=B&hJ1r}Y4t~)u&dSiQdY97kzrNbEr?2|3Cl*s&TpZAV-Tjiiwzh_emLO7!oHQ2F z)}J<=Ot94apA0DPOX+3-fRI2M2RXE&*RU=1$4`+Q{2ZMtKfW zUcl(@wTK&yS>z&LqgSI~(`n~E6~hk26B84#*H}XaWY2XUk79Cem;`hSn-X#8{&K6p zc==9L`uE;kbj8`Q6xCbFp)-e>xsq4*r)MK&{_d!ACl3L)QHNrSjolAYU$Wo56T!9- zT}<3Nhdb9oOSG_gk8wEP6jzl#a3uETwOrFTmUJ2Z`0>e_KB4i2xTkm1b)VOTH}(yz z&?1mJ8hheUM;gWBmJ*Gf>GehD^spWm@6Xfai)j@rvu{IiC(mo&pDuI4rR9BtDc^4-O9Y_iNuzwfhU; z7bd!W$T%9;2|LxVBRe=J7gh4wyIovdwz8z9w8DzzGVh2NvCw710#;{7My`&8W$-B{ z4bn$<#XTzKeb7#in{cwX?-*;@?~lz-CXJuozq9$aIp{bIdLuJCyS247jn>M!70u6v zPnuwi7bGWtiKe#_=iuPbN)mjH-Z^~tl!VW;gfCsmM^9Et>PxpzzCBJbM=_`>_3CBO zFyR%%?deBJ!Ij45TW-l%EQeNn@*FXJqO0F?Hso9G0Y`CJS>ckOk~9Jw5aE^j23_lU7W?G2~FO%zVPIa0-PK^sU0e8C90cOww;BwYOB0 z6b4Z<4WJ}xej|lcmxCbn8E?*yPf8#4ly)tj`ik_zVq+oE(b3IQU*O()mx-ys5#Eo- zK{{2ncVqcscqdfri{6B%on&%B*>Qlyp%TsV-Mil1z;?vS8G9e`v$`O2=c9ZiG5n+8D%PKZ>f zvC*&TuR}u&g3c+0&*_YMP@|)x2X`ZbDRoD0WbVq8v!wf^$=U}8XB#QtGECg5@+X9e zg5HayzJQr8!i9{K-uo99wX3$Nx`u4Rj`ZW4WmeE!XK&pygigLNirZVW(R!2*F$O1{ zO|QrIv#m3!leX9%{f-kue2h3f4O+KR>gr-2Q(wNA3ap5qOzVuw79=i0t)>d}=UhDC?yxDeGIrLyFhKQ3Z zrq3qiw1av!_*hhod;d!$7+4i^7S*T=&KMt#jg6TPid&ffj)1Zy`d09z7oqq@zGo(x z_o@9dW|(HG^DWbJVGH>MnuMp>q?_yI*Tz+>4k(-h9DaC`rp*tNm6!jM5*9`T+qw`k zO8asAw4cSTKb*+w!P#?zqR`DQ-m3M~zYLCer1O06nIvxwQhgx z%r>tsSyaO;xVn+X-d69e%q3Bi+{cGgS? z=k)88@>jOb;u;&j8{LV2`7)y}{Uff&h4+iGst)F{F}hp}jYjVU;HQuOfG2Z@ZK4qm zAFknvVqN4POh7?ECsoY%I2JLV-ws&cPiY5=b-RE6J_Yj`yM7pfo`k;Fim*(kh<@6H zdN%LgaZK1?VP;-BuUhx9dt-h`Yh@FBcDNWt>OMKo`0fu$_Fy3mG-VZ!fA;usD5Ge$ zB}%_h{XsO0D!qM|t&S5}3g^j|8h;rduVr{^E1K^@g+nRmf=;#(?FdeP{*aQ>twdi< zftEbIN{yuV*_PiZW|LnzeaI8(=3cMqs_rebyzPQ~wYd0O*-=_rIx0GvH$a8O-;1}3 z?pp!j>VXPdzOR>;3e?%!+RTj7)>u_{YPz$ltKmtsGgNL)Hv8Gg{M7uLWzYL8WyT_7 z<=RELQ`6iWMPN)1y<>IXqb;JlySt+8>@~B{tp{a|M?4jvr}8>DI2^3x+=MLXx=EXe zK*isDj0#`d+Nvz*yc%Ns&u)5$n$8M+OeQUCx5L5M?7j~0R>aNA(EcX*gZ%xOM!MEv zz=^p_TE?4!9zz=H?wNhwIfmMl}|49UYx!R?79i_n&ewyplInjtmFS1v9*@ zenoF?GR5NJqH(>^-7F-}mFz!{gMzFu%TpzETHT>oio8p&bYkz%Qm!>L+5LGkm-nk*_vufOZyjH|XcT-Z1xmDd}auT@03tjO^3l-434p4Ao2? zlw79Fc0*Yw=TYKU?N20Vb+3Cb|L8_Pr=ugy234WOz;_*M;Od8ab$exSZWPAX3#*KQ z1U^xz;nLEkJNx_J`j3C`ZVJir_^&^6bzSyJ_VKuk7*czuI4UYC`fWB;AW=$QeYU^s z(XGCoo=pjpP_QzQ6@E|fHey07v8q*QFno7|)`1bU#_~2j4NWtW(5G4~AJe9iw|R2t z9h8N>+FMFVnEesu?cfKfZmf`k_1@{aFyErFZ*B`)U(R?s74gMlOk)K>moAq_eP=d&B2GH z1O)K@PK2Jva8xbRd^4F3QPYPH?cK)9lkd6R8Yb}ummB~8nX9bl(({_rA%^Z zyipDx{v$-?A_usN^@swq=ApGd6P=f_pGw~2hCf9bCB-yYX>FvXqU5?G{l6S*?DgUY zId`k`MAey*K0=IZ(8eny?P~>(DySibF=H+?FpdvN`Yf4h94Ig$<7q&$>S3nl=L;2S zP(eWuJw09Ea?1aoUr9sB(e7EKZ$jO#18z_FbIK*YDR|X33*R3MMELsFfPuR^E-r3R z%C`FoRXS{%X#uPdG^>kB!>5`@T=xnRQ&Ek*1t$ErZ+SZUy~v$0x}9EER~K;IiU!D) z)=4~uULmkl>(**9Ge?9sCxT99WiSZKq0 zvP|MId3)$CzBr41rQ!+_dUK9x^DrB@+t|ch*5=C8-yR)0(N^-c?ZXO(H`jf0C_}FO z3Px$UBATE%}CBv8AIw$D@)O^`sMo z(gv#?rTWYfDUO_SdJ>=f<<+mO`Z3S^tsxKJy7|n0yk0FYFS_H&fb}on%`+&95{w}N(Z6jtoh0GcF0<<4Yj{cy5OW+l%iMihEvl9(%`T6-lr>W zbFHmmJNpZ+_sg$fOJ=w=T8AU14t(eK-1OsjZU-9e*&KEaANtNbIxdQ24Rr2>ff^SN zFxR^lMB9_6dx)BuF%Y0XJ%#wGRATa?r+HYZ22?fbt(WJUaf^l$nzA>@a!%I^oVTan zm_uK_C3D@4{0KiU=k!7c5oaaK)g2$>{A^y0lARw`P#z_V*_?SP*}OM$&)l?;3B-G_ zWH(m89^XuT(U*&>s>;_h7^LFeR|q+?jF#x_>+{N2U!#8ggVJ9pRQvEs+SzdaByS&w z@&@zO%(1<}u3vpKck7ND8%|=DbPKIntSF(aN1kWxPNJ#laO>ecl{jx-Ho@N<%>k<7 ziw`>O1h{NY7kjY{AueB>eoxK{^1@GV990wh)W{ASn5{7=-Ucp$S?EZ$e-?I-9ENrvr|9WDaQNOd0R{`6X*eE7wQ|W`PCwsp;ub+1` z4F;{1Aenrro)e2%xcY62Y>vNC%@hz6Bw_t-EaF%l7xYKH*w~}#Y#ZFeA#OM5NbeM$ zQ0RCHyfiG6jcjm>SGa-|HWVC#7upzIT76CG461o!?B$`#BxcTq*oHv}PP#&G{?PO?sQGH+77y zb~MpdkBf$(N4A6`B)~RO+p25{kH>?V4OoqU5pV>-_wD8(b}UHPnN*KNls4<(J(m%J zj@L2IpHUi@L#J1YUhk04o8U>KJZ+(SJy+cL4rRQoXPV3Q#rZavbEvs}CVxnQ^_f=X zmB$xehQ(sFO05j3q?oz&I`ltNXVo1pAK2vN;YI>n?xwGV=S*kpu8q#OB1 zS|nHr)9J5!g6`_b!lv6nuyB}Ru!X?`%cVvU5U0&XenKd9D~EvsG=7yjIL%|k2QYTOBD1GD7D`S>nCDVF3&BGK)LcnwVU}MyWN%(;WMm zLaE+Ne9KY#hj$cn(tm^^4jQ`eR-7~RaC3dWAH2Qww6|9-G^t8;8TzSKEvN{vG+&PW zMkCit91D?q)wMz+H)^ayQH=6VD#YEse%CZk4>d@`s-3XMgmay65NT zTabi$4OtFi>^IRhZT)pclqxCjeO5A3jcap$#`}hpJ&f1??i>~t^25+<$96isdAblr z#M8}u^hdY{8~c+`IwmSotg>Jq|A+ZN{RT@;F0RFKkRvj#NtzJ>f!g7(v9~}r;-q>7 z#JZnSavcOQdz_`aFJHad-X0uG^s5Gd&|GXz4m~}+VBy3!hyM_s((%jxu@X83J3G5A zcfTsr4PoXuNlD4-fw3`v1R`b}gekAT+?6+bM_9r!fR05>4=80^piwO+zbc~*VJ52P zMTHPm-Ry5vzyNj9IR0tgjFC7enIaU5{x>?Gw7gjiWWk_lAo~R^06g{f##!DTCN>FV zW?_*PKRfBf(}rs7uxhFggZJ4dG^9)jvrxE zGr>wqMppJ)Hwc2HUdYM0Ix+~l?OShv8~es4IEe6aFN|{)oHX|FqyZ3mC$kp@5(7{- z%~{-F|71m=pC9u-Kxj9zeUKng+IRQ)@ z|EIMchI4>@azvL+Fg({O@l(g2FWF<)qiXrpW8fd!&S!Xp!45qj_BY=6NCP7C2jUp4 zcHz+Ou9TRdxyBwRZs;FS6Tn@9ff-}n7}8J@1jO8)Gi@PIMa8~uCuhIL!kOfv3m_Kz zhTlUPqi2L07Om8XmUvJI_w-C;1UcQM4%^BLqo=lm*2>DDlj*oXj2z!n`WGK8gKN?& zG#r$NEW7wM3hxiN6*~zr0!rb}o;~v@jMkppy(?c64_Tm*6A=-~PzJHOl<_i{MrzsM zjHbrz=K%zF-`U@)-XuB9tWIr=6< zRaNyr!-4F+X`-ZjM)jkq2;_g%UoHZ+g2ArX_Jf?_@K9Ftzj3a{br3dYFLVF~ysQk< znsL?CY#(}iVju>`)So;22|hM7l*C5_D5;^N05VDnh$<|mR#$L7v$(~`X zBP3-XYeu%bcYMF^@Av*O_s)IpbI&=?IiK@9=X@e>A>a^t9(n)(AUfJwMgVY96#V~+ z_9S?X+-dd&ZznvB;2Hq#>$yenf!aacKpg-o;usFBPl3;LZrY}v0Kn8n`JL!+eQO5* z911#G>c+m7q|B>cvr25wCCs^etsi_3Q;ec#U|@(spX7YbL4z_K@S$grm}vdA0 zIbr~SPwcmt8^<5#!JAk}eu05UWKza!a1y{)F}+r2)L^*ET>4p6V`?CHS@c>X&D9~S#fd9 zqM)Bxpb%wNk`Jlfx&LYN(f(R<-S`~*7pOqcO=ZQngnV5^#iL3m_;-{CIL3;H)=I1x z7m#lu9jdrLyha2kf}&~TxKT@(QA=?6QQde<*&YBSY|PL5G+j;Gw=!aSVOur6enW)~ zC3Xwrh{wt-q!#G|K}CPO`+a`WO$YvcHJroW3;m-%R-{H+)U!Vc=!b~K<;ok=kVMZw zl>6qlWY&m!1ZZy#m72{^#e0<^r_VoPTdrBEH*lMkznYa?8d~UD?>5gbuwyVC#W;SC zP;}qgEk`;Lu_4DFof$gZFVel#x7z$nF30l@FKaZebUU>#Y50XqI87`gvoc3MY>rWh z>o@R{+M9WLwCJc_VWjg*33o9>P@v;BWbL+uiC$&SdpieHmvoywW{A0D8=|bN%!sIY zo9L;ML!NhJL)x@ZKI1#JoJcw(cCs&(Ck>;ZDBv z2|ze!bqYhn-q8{rSwr^9P%MKvFhNQbRYMRN8r2>8_V>$1jp%{Ytoo=m_VcDi%Z!Td z16f~fSuBX2tN2em5ar3qNu2>x`hnx+RSpSdCp2>^gphm}u! z?i+v9KRL;#z$>!=;?PcZ#cm%5b0tY3)80>%{ud}{KfhOl);~*Osp_Wzpx_6YoQ!!8 zUXJ`i)TH8bkq_qf0uxI3;aJy<1?CIUHlv#w%py)6RDDxZvLLU=Fw~QXpRw9L0RUY6 z%gdK{K82c%iRzKY*LJpcUuVQPX`TT1rFl>uPe-%z$sp3Qv$H{G0{qu4TM@fXaf*SO z-7*Uc)L=q3 zK1oz~DlD9ZkVAVm>Xg;U2C;2`d1B>-tia5GKWlTM`%@#eHbm9<aP&GCs=EYE*yTNEl=kBRJu`%yIe9oU zqh2!9N&oUHh%W^Nh2M@xySqBGQ1lDI7Ovgac$8Jy=-S#^<+*T4A~qW_kT&2hFnOzz zNT)Jvsehu?k0w)IaobS{nI_1B@TE09U3p_|qVJ(5RZ6rcRjXrM*7)m?G2?RnyVtqU^F8L3ml0azqN~aY*>tGPMf$;#VI7dV>=!*(>FV{ zD&|Wc8g1jXx#9}M6IiSZ8PT#!Vcz(JoMpH6>w{d1I-=Dgo{m}?v-kH*nsu;K$wSYc zU$LfcJ5QRzSBpcchN8;`8Se+Hb-#!ij_wM)nv37{|9X+K_+T)bHr9lbhA^^A5drzqr=Bg} z?5w{ z;j*3uX48SZ+^gGfuI%4}&LUwjUaw|Py2*X>AJK4R%FWtxzL@UK}UjF4+GwwUHSep;Zdg=+EOgWX;QhM^1vOHy7m_hEvd zqoJ2zXy%!ZXV6&TYas|KoQOaVE`r0+Ft@td6YHRJmQf-hIx^+=A3D0JJBQM$?#Ak> zDk`;h2OUmO0}EOn6#Whk)(*XTOAN_hTl{axIH@98tj0HVM2H{0K9mt%`tj>mz7%l3 z^lqd+Df%GGD}oKBTLC9XSXQR`N50dg;N=w2Q|iw!lxO5hN{@s=jn%HfqjX7gGmT^m*30-Tjoj5Z|BStWDp!lL(LC-Asva*#NU>y8 zyA6@^otIdxa60@=LV3&)u@hVLW1yUkb?D;Y(!fHlzU@h`6kR8x+Y`EfU_pQ5e6fqG zYrdm1xZfjEH1zkyLocMg%bkbIEOqp6kp_%6v>250hp|Ob_$Mqs-Zinfh5g^B4!O)5 zoA3ARte44i&t2-rAD?||)8>?Y{_u;BzcwCQR2j*Q(tQiZ7C3V$331NQv;7-3db+m0 zK1j^mwuRE<{LlHX>DF%&a_a(^^f=ayVx;f`b#!}mq4K)@sWMOlj%aSwpj9O;TmyE0 zfdc5vWA(3zxj0=g(d^ZsU$KxM0p{C4X{nMHD$2hEkN*94j9}@wBqdNKtD&XqdFLu-Ndt*u{Kkzd>-1oO9 zm69sYMc%-t*VDzgj?1BI9}UhBZ40FRx;A1XhbG>U)qG!s;;_$?X#3=x9J22v{S;T! zojv$-G39lPPU?k~#8C1=h|Yml_=a2Gu}Wh@hfU7V!fU?=vexrqvc7Mc>m+@8w`Nml zCHlAQEo?T;ADf!{Gk2HT z7?qy{9E7f_6^ufS?z^B0oUF|Kj-e&T0tM8l3+R;%N?;Na65m$*u@&Zl&1zuj&YCK@ zBAZXXwNqSnHt?t96GsvAz&Oea_kUh!A?)d?6p5(0+*xGvSMlS=AN9R6G^(EOq%Ow_E(dUC_bwsDek$- zr)UvnHjppJsiY>h{B?@rR7Tva)v;*Mwq^cyByDDSeqMVyl(AG}IaIn& zsB_PGc|SWmX&ZVttcrIk6e}TLTk-$X){SfZ!<1snCvUPuIldH*~jde z-1K6)S&Ze~PEMGy=}K3#E`0SFpEc~<-bc>t9;)|0{D5p@2>&tqo%YdT!!x^zbwgzk zJyJ%l69t?1Oaq!6lHPpTD9Mm+?8oWHu`q55ct9u^lr_i?Rv0n zS<}UqR)j4b4wl~SMM;a%gzC9LH6GMhik04ymLbDaWUNfAA zeSe5AlhZ&w=BB12%$&;P+;?-w-~zIROvg8Dv>w18r=Qs=@hRc7ud5(ao2Jy-n$%qP zyc-{eo@6h8kS>&v9mSA2yS$&>4PXE8)s(xngM0rrnQ33o{Rp<6--3nJTx%tEo%Qa? zD`|sjb1@wC@}JLt_M}F?OCa62;r%F|Ps*&9G2{=w-I&vr6E)x-fes8zF=~!5%l^iv zwVdqy_!dciuI&gJGE8(H4M}P{Z(AZYEPsEBfOvTgHd?v}R5lTnCjAp%JT+^a`?Qfd z+|>7*p1@9eKLax1bYkBAA6#gO;hszSVi6f7n46z-gU?Kq~hQ34Y!1lw)3aXWU@ zW(fssrXe6vqa768icqN$*)SFcfJ>=6J3GhE4t3@pRRn#Ie+YU8Ryp47Mv0PB$2)rt z*r?jXTa0yOkn^%B{b;_2w|6_tP25^Um6&h?Jb?gqomguTW{Mw5M;{&2Dq&!PL#stn zj+MlL>Af1fMXww)oTZm}-1v4dD#NZ{*LGrx9tQXL^!|B}e*o0)VHZA z59ZfSV_mnwBQWw4qY_B;u*s}cPmuCtFQ2P{Bhyw_SMz8=jqIStCTkH+QkN{qWB~Nv zx3`lp4+N*n6KW{!bE-VZDG6e&3x}OA-r%+=1%p7CpD+BUn^%0|IASfL44%Ybh3cXR zatlCEY9c$Tk^nBL+vP6}0CZ;hJK&vcb1C2T^hEvp-GV6pid`}OFt#oz?C z0>~*)z)uwr8@WWJ8pQ*4-Oe>XptY&x1b$KrWf_tj562d_x9{l6IJ^WCl#K=kE-g*4 z4Po`j5bU}E;3Z$fWGv>vo4j%YClP6MEF}DSCZ#ZaOWTA8Eo-F&R1oPlw)mRt|MY2c zA|BpdTc6rb^OOmJr#aSLRGc&=M z??!EiNn!|vxOgDeTaGMZQ}B5dS0H^gMeiTtEnw8rZLCNW^M2y0LdHL_NciwUf$ul_ zIn)yV|Kqy6{76*nRRP8A7n=VeE#?}?m2C(SV%7B8{FdT>nU&<8i#wm%!!r@przup+ zCu8%W&wX$T(E^1+^T2?qvD0U%7xvx8P`C@;;~Cmxi*I33?HcJ!pqYZ=c0cB@px`V@j&JBbXPUFF| F{{Yz=iOc{1 literal 0 HcmV?d00001 diff --git a/source/_static/08/cubes.png b/source/_static/08/cubes.png new file mode 100644 index 0000000000000000000000000000000000000000..095ad901e1c5f66fe79ba146d939623fba4ceb17 GIT binary patch literal 45661 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

syaUsTWn~0J<;JI<~&FbXa{mRZm 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 literal 0 HcmV?d00001 diff --git a/source/_static/08/roll_pitch_yaw.png b/source/_static/08/roll_pitch_yaw.png new file mode 100644 index 0000000000000000000000000000000000000000..37bbb82b77488ce695fe210faea4550989360210 GIT binary patch literal 11476 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 literal 0 HcmV?d00001