Partial derivatives of 3D rotation vectors

Click For Summary
SUMMARY

This discussion focuses on the computation of partial derivatives for 3D rotation vectors, specifically utilizing SORA rotations to avoid gimbal lock. The author employs a least-squares optimization algorithm that requires the calculation of a "delta" rotation vector, defined by the function D(a, b), which maps rotation vector a to rotation vector b. The limit of this function is computed as limx→0 D(r, r + ax) / x for various axis-vectors, revealing that the limit's value corresponds to a rotation of the axis-vector a by -r/2, reflecting the quaternion double-cover property of SO(3).

PREREQUISITES
  • Understanding of SORA rotations and their application in 3D space
  • Familiarity with quaternion mathematics and their conversion to rotation vectors
  • Knowledge of least-squares optimization algorithms
  • Basic concepts of limits in calculus
NEXT STEPS
  • Study quaternion mathematics and their properties in 3D rotations
  • Research least-squares optimization techniques in physics simulations
  • Explore the implications of gimbal lock in 3D graphics and simulations
  • Learn about the SO(3) group and its applications in kinematics
USEFUL FOR

Physics simulation developers, kinematics researchers, and anyone involved in optimizing 3D rotation calculations in computer graphics or robotics.

Jellyf15h
Messages
4
Reaction score
0
I am utilitizing rotation vectors (or SORA rotations if you care to call them that) as a means of splitting 3D rotations into three scalar orthogonal variables which are impervious to gimbal lock. (see SO(3))

These variables are exposed to a least-squares optimization algorithm which requires partial derivatives for each function and variable in the system. My optimized functions are all based on object positions, so the derivative I'm computing based on these variables takes the form of a "delta" transformation, of which one component is a rotation vector.

I know I need a function D(a, b) which defines a "delta" rotation vector mapping from the rotation space of rotation vector a to that of rotation vector b. One way to derive it is to convert a and b to rotation quaternions qa and qb, and convert qa-1qb back to a rotation vector. This seems roundabout, but perhaps I'm foolish to dismiss it.

Given a (hopefully) simplified D, the current rotation r and an axis-vector a I need to compute the limit:

limx→0 D(r, r + ax) / x

I'm interested in these limits for a = (1, 0, 0), a = (0, 1, 0) and a = (0, 0, 1).

The application area is physics simulation and kinematics solving; I'm trying to find the optimal rotation for an object based on various potentially conflicting goals.

Thanks in advance for any help.
 
Physics news on Phys.org
For the benefit of anyone else who might encounter this problem I ended up discerning that the limit's value takes the form of a rotation of the axis-vector a by -r/2.

Interestingly, this reflects the quaternion double-cover property as it doesn't repeat until the radius-2∏ shell of SO(3).
 
I've encountered a few different definitions of "indefinite integral," denoted ##\int f(x) \, dx##. any particular antiderivative ##F:\mathbb{R} \to \mathbb{R}, F'(x) = f(x)## the set of all antiderivatives ##\{F:\mathbb{R} \to \mathbb{R}, F'(x) = f(x)\}## a "canonical" antiderivative any expression of the form ##\int_a^x f(x) \, dx##, where ##a## is in the domain of ##f## and ##f## is continuous Sometimes, it becomes a little unclear which definition an author really has in mind, though...

Similar threads

  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 3 ·
Replies
3
Views
4K
  • · Replies 23 ·
Replies
23
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 1 ·
Replies
1
Views
2K