# Gimbals, quaternions, and manual rotation

**URL:** <https://discourse.processing.org/t/gimbals-quaternions-and-manual-rotation/17065>\
**Category:** Coding Questions\
**Created:** [January 13, 2020, 10:14am UTC](https://discourse.processing.org/t/gimbals-quaternions-and-manual-rotation/17065 "2020-01-13T10:14:06Z")\
**Posts on this page:** 1\
**Showing post:** 22

<div class="post-metadata">

**Author:** ![jeremydouglass](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/jeremydouglass/32/20_2.png) [@jeremydouglass](https://discourse.processing.org/u/jeremydouglass)\
**Post date:** [January 17, 2020, 4:06pm UTC](https://discourse.processing.org/t/gimbals-quaternions-and-manual-rotation/17065/22 "2020-01-17T16:06:04Z")

</div>

Just a note that you might also be interested in looking at the Picking Library implementation of picking. It is P2D/P3D only – not Java2D – but since you are using P3D anyway, it might be a good fit. Previous discussion:

> [@Picking with JAVA2D](https://discourse.processing.org/t/picking-with-java2d/859/3):
>
> The source code for Picking is very compact – you can find it here: At first glance, it looks like the dependency on P2D / P3D (OpenGL) is in Buffer.java – specifically, the use of PShader (31) and the fact that Buffer extends PGraphics3D (33): As @TfGuy44 mentioned, you could write your own false-color buffer from scratch (copy the picking concept). As an alternative, you could fork Picking and write your own Buffer that extends PGraphicsJava2D instead.

---

_[View the full topic](https://discourse.processing.org/t/gimbals-quaternions-and-manual-rotation/17065)._
