You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/wiki/coordinate-systems/index.md
+56-21Lines changed: 56 additions & 21 deletions
Original file line number
Diff line number
Diff line change
@@ -18,43 +18,78 @@ As such, it is a good idea to do one or more of these:
18
18
- Restrict the mixing of coordinate-systems, by using a type-system that let's you create [new types](https://www.worthe-it.co.za/blog/2020-10-31-newtype-pattern-in-rust.html) from existing types.
19
19
- Document the coordinate-systems of function parameters.
20
20
21
-
## Terminology
21
+
Note that, depending on the software you are using, the concrete definition and usage of coordinate-systems can vary *wildly*...
22
22
23
-
Now then, let's get to the various coordinate systems!
23
+
{% figure(caption="Commonly Used Coordinate Systems",author="Freya Holmér",license="[Copy embedded with permission.](https://twitter.com/FreyaHolmer/status/1530167901436649472)",class="full") %}/wiki/coordinate-systems/coordinate-systems.png{% end %}
24
+
<divstyle='height:0.5rem'></div>
25
+
{% info_notice() %}
26
+
**Authors Opinion:**
27
+
I recommend using a right-handed coordinate-system with Z-up or, if you prefer, Y-up.
24
28
25
-
{% todo_notice() %} Add descriptive diagrams to all definitions. {% end %}
29
+
- Blender, SketchUp and various Autodesk products use it.
30
+
- Z-up, so that a sheet of graph-paper represents the X/Y plane.
31
+
{% end %}
26
32
27
-
### World Space
33
+
Also, keep in mind that the great majority of 2D renderers *and displays* available use a X-right + Y-*down* system, mainly due to western writing systems being oriented that way.
28
34
29
-
The global coordinate system that is the entire scene. This is where almost all the (gameplay-related) math will occur.
35
+
## Terminology
30
36
31
-
Depending on the software you are using, this can vary *wildly*...
37
+
Now then, let's get to the various coordinate systems!
38
+
39
+
The order in which they are listed is *kinda important*, so try to keep it in mind. ;)
32
40
33
-
{% figure(caption="World-Space Coordinate Systems",author="Freya Holmér",license="[Copy embedded with permission.](https://twitter.com/FreyaHolmer/status/1530167901436649472)",class="full") %}/wiki/coordinate-systems/coordinate-systems.png{% end %}
41
+
{% todo_notice() %} Add descriptive diagrams to all definitions. {% end %}
-[Setting Up a Proper Projection Matrix for Vulkan ](https://johannesugb.github.io/gpu-programming/setting-up-a-proper-vulkan-projection-matrix/)
87
+
-[Homogeneous Coordinates, Clip Space, and NDC | WebGPU](https://carmencincotti.com/2022-05-02/homogeneous-coordinates-clip-space-ndc/)
88
+
-[Why is clip space always referred to as "homogeneous clip space"?](https://gamedev.stackexchange.com/questions/65789/why-is-clip-space-always-referred-to-as-homogeneous-clip-space)
-[When does the transition from clip space to screen coordinates happen?](https://stackoverflow.com/questions/21841598/when-does-the-transition-from-clip-space-to-screen-coordinates-happen/21841924#21841924)
91
+
-[Scratchapixel: The Perspective and Orthographic Projection Matrix](https://www.scratchapixel.com/lessons/3d-basic-rendering/perspective-and-orthographic-projection-matrix/projection-matrix-GPU-rendering-pipeline-clipping.html)
0 commit comments