Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8768501
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 13, 20262026-06-13T17:05:03+00:00 2026-06-13T17:05:03+00:00

I just dig a bit deeper in use of quaternions in 3D game programming

  • 0

I just dig a bit deeper in use of quaternions in 3D game programming (Yes, I know about matrices and they are OK, but we always have to learn some new things), so, we can rotate some object like this Pout = q*Pin*conjug(q), where are q is quaternion, Pin is an object of(let’s say we are using some framework, where this class is defined for us) the Vector3 class, conjug(q) is the q quaternion after the its conjugating and, finally, Pout is the new Vector3’s object, which we got after the rotation initial Vector3’s object Pin by some angle alfa(or theta, whatever you like). Also, I know there is a way to combine rotations, like so: q_final = q2*q1 (this represents rotating by the alfa1 and then by the alfa2 angles). And, finally, dot product represents the angle between 2 quaternions in, let’s say, sphere. This is clear for me. My question will concern such things as division, adding and subtracting.

My question is: Could anybody tell me, please, what are they(division, adding, subtracting -operations on quaternions) representing in a 3D programming? How they will affect on 3D model?

Thank you beforehand for your answers.

p.s. If you (DarenW, bensiu, Dharmendra, Uwe Keim, Jennis) can’t understand this question, please, leave this topic. Someone might have an answer. Thank you.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-13T17:05:05+00:00Added an answer on June 13, 2026 at 5:05 pm

    As you know, quaternions are identifiable with 4×4 real matrices. Quaternion multiplication, scalar multiplication and addition is preserved by this identification (see http://en.wikipedia.org/wiki/Quaternion#Matrix_representations). So converting two quaternions to 4×4 matrices, adding them, and converting them back is the same as just adding them. The same thing is true for multiplication.

    Division of quaternion A by quaternion B is nothing more than multiplying A by the multiplicative inverse of B. This is equivalent to the matrix form of A multiplied by the inverse of the matrix form of B.

    Note that rigid-body rotations (no shearing or scaling) are represented by unit length quaternions. So you can accumulate rotations by multiplying unit quaterions. Addition in this case isn’t as useful.

    Finally, the main reason we use quaterions in graphics is in interpolating key frames (e.g. Eberly 1999). That is, if we know the desired rotations at k positions, we can interpolate the quaterions, e.g. with a spline, resulting in a quaternion-valued curve. Each value C(t) is a unit quaternion, so it represents an intermediate rotation. Key frame interpolation is harder with homogeneous matrices because not all 4×4 matrices represent homogeneous transforms: The interpolation process may add scaling, shearing, etc.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I know how the cookies work, just started to dig why Codeigniter does not
I'm just starting to dig into some programming and decided to go with F#.
Understanding that I should probably just dig into the source to come up with
Just checking my JS and I have an error, but I cannot see where.
I would like to dig into developing for jailbroken devices, just to test what
Just beginning my journey in ASP.Net MVC and I have a query about something
I'm just getting to grips with ParseKit, read the Basic Grammar Syntax but it's
Just browsing the API and I'm a bit unclear on this. I'll need to
I've tried every Google search term I can think of but everything I dig
pros! Looks like basic question, but I just can't find what I am looking

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.