How to move a point [x, y, z] in 3D space around a center [0,0,0], using quaternion readings from a sensor? The 2019 Stack Overflow Developer Survey Results Are In Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)quaternion representation of the rotation of a sphere into plane displacementRotation plane on the sphere (quarternion)Rotating a point in space about another via quaternionHow to calculate the quaternion from/and axis angle having parent and target position (camera and its target)?Finding 2 vectors in a circle in 3D spaceHow to understand rotation around a point VS rotation of axes?Calculating a rotation quaternion from two vectors then applying the rotation to a pointConvert quaternion to spherical coordinatesPoint in Coordinate System A, how to find its location in Coordinate System B?Finding the Quaternion that rotates a coordinate system to match another.
Is above average number of years spent on PhD considered a red flag in future academia or industry positions?
Can the DM override racial traits?
How is simplicity better than precision and clarity in prose?
Did God make two great lights or did He make the great light two?
Did the new image of black hole confirm the general theory of relativity?
Why does this iterative way of solving of equation work?
Can smartphones with the same camera sensor have different image quality?
How to stretch delimiters to envolve matrices inside of a kbordermatrix?
"... to apply for a visa" or "... and applied for a visa"?
Finding the path in a graph from A to B then back to A with a minimum of shared edges
How are presidential pardons supposed to be used?
Format single node in tikzcd
Hiding Certain Lines on Table
Python - Fishing Simulator
Semisimplicity of the category of coherent sheaves?
Did the UK government pay "millions and millions of dollars" to try to snag Julian Assange?
What force causes entropy to increase?
Are my PIs rude or am I just being too sensitive?
How to test the equality of two Pearson correlation coefficients computed from the same sample?
Why is the object placed in the middle of the sentence here?
Do working physicists consider Newtonian mechanics to be "falsified"?
Why is superheterodyning better than direct conversion?
Can withdrawing asylum be illegal?
Slither Like a Snake
How to move a point [x, y, z] in 3D space around a center [0,0,0], using quaternion readings from a sensor?
The 2019 Stack Overflow Developer Survey Results Are In
Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)quaternion representation of the rotation of a sphere into plane displacementRotation plane on the sphere (quarternion)Rotating a point in space about another via quaternionHow to calculate the quaternion from/and axis angle having parent and target position (camera and its target)?Finding 2 vectors in a circle in 3D spaceHow to understand rotation around a point VS rotation of axes?Calculating a rotation quaternion from two vectors then applying the rotation to a pointConvert quaternion to spherical coordinatesPoint in Coordinate System A, how to find its location in Coordinate System B?Finding the Quaternion that rotates a coordinate system to match another.
$begingroup$
I've been browsing the web for far too long, and still can't find a solution to this issue for my student project. Mind you my math skills are not that great, so I'm desperate for any help I can get! Most links I've visited or seen in forum posts has lead me to articles about Quaternion math solutions, which even though it is said to be simple, the articles are too advanced for my skills and it is really hard to get a sense (in 3D) of what is going on in. I've also tried using Euler Angles to do the calculations, but have run into issues with Gimble Lock, as the sensor I'm using needs to rotate freely, and sometimes upside down or in a 90 degree angle.
My problem:
I receive quaternion readings from a sensor hooked up to an Arduino. These readings come in the form [w, x, y, z] and change as I rotate the sensor around freely.
An example of these readings are: [0.93, 0.23, 0.21, -0.23]
I have an imaginary point floating in 3D, with coordinates [x, y z]. Let's use [1, 0, 0] as an example. The task is now to rotate this point around the center of the coordinate system using the quaternion readings from the sensor and hopefully to calculate the new updated xyz coordinates for the point.
I actually have 10 points I need to update their position based on the quaternion readings, but if I just learn how to move one point, I can repeat the calculations for the rest)
The coordinate system I'm using is this:
Coordinate system of the sensor
The sensor is quite stable delivering several readings per second, which only change when I rotate the sensor. Placing the sensor horizontally on a table gives the readings [1.00, 0.01, -0.01, 0.00]
Maybe it makes sense to imagine a sphere with a radius of 1 in the center of a coordinate system. The point are all located on the surface of this sphere, thereby always having the distance 1 to the coordinate systems origin. The quaternion readings from the sensor then rotates the sphere and thereby the points on its surface, and I need to update the position of these points.
My math skills are not very good, and (if possible) explaining the calculations in java/javascript or Arduino(C++) would be a lot of help.
Thank you!
3d quaternions
New contributor
$endgroup$
add a comment |
$begingroup$
I've been browsing the web for far too long, and still can't find a solution to this issue for my student project. Mind you my math skills are not that great, so I'm desperate for any help I can get! Most links I've visited or seen in forum posts has lead me to articles about Quaternion math solutions, which even though it is said to be simple, the articles are too advanced for my skills and it is really hard to get a sense (in 3D) of what is going on in. I've also tried using Euler Angles to do the calculations, but have run into issues with Gimble Lock, as the sensor I'm using needs to rotate freely, and sometimes upside down or in a 90 degree angle.
My problem:
I receive quaternion readings from a sensor hooked up to an Arduino. These readings come in the form [w, x, y, z] and change as I rotate the sensor around freely.
An example of these readings are: [0.93, 0.23, 0.21, -0.23]
I have an imaginary point floating in 3D, with coordinates [x, y z]. Let's use [1, 0, 0] as an example. The task is now to rotate this point around the center of the coordinate system using the quaternion readings from the sensor and hopefully to calculate the new updated xyz coordinates for the point.
I actually have 10 points I need to update their position based on the quaternion readings, but if I just learn how to move one point, I can repeat the calculations for the rest)
The coordinate system I'm using is this:
Coordinate system of the sensor
The sensor is quite stable delivering several readings per second, which only change when I rotate the sensor. Placing the sensor horizontally on a table gives the readings [1.00, 0.01, -0.01, 0.00]
Maybe it makes sense to imagine a sphere with a radius of 1 in the center of a coordinate system. The point are all located on the surface of this sphere, thereby always having the distance 1 to the coordinate systems origin. The quaternion readings from the sensor then rotates the sphere and thereby the points on its surface, and I need to update the position of these points.
My math skills are not very good, and (if possible) explaining the calculations in java/javascript or Arduino(C++) would be a lot of help.
Thank you!
3d quaternions
New contributor
$endgroup$
$begingroup$
I've tried to follow this guide, but am still quite confused: youtube.com/watch?v=PsBx8Kkhc5Y
$endgroup$
– Brodersen
Apr 8 at 14:15
add a comment |
$begingroup$
I've been browsing the web for far too long, and still can't find a solution to this issue for my student project. Mind you my math skills are not that great, so I'm desperate for any help I can get! Most links I've visited or seen in forum posts has lead me to articles about Quaternion math solutions, which even though it is said to be simple, the articles are too advanced for my skills and it is really hard to get a sense (in 3D) of what is going on in. I've also tried using Euler Angles to do the calculations, but have run into issues with Gimble Lock, as the sensor I'm using needs to rotate freely, and sometimes upside down or in a 90 degree angle.
My problem:
I receive quaternion readings from a sensor hooked up to an Arduino. These readings come in the form [w, x, y, z] and change as I rotate the sensor around freely.
An example of these readings are: [0.93, 0.23, 0.21, -0.23]
I have an imaginary point floating in 3D, with coordinates [x, y z]. Let's use [1, 0, 0] as an example. The task is now to rotate this point around the center of the coordinate system using the quaternion readings from the sensor and hopefully to calculate the new updated xyz coordinates for the point.
I actually have 10 points I need to update their position based on the quaternion readings, but if I just learn how to move one point, I can repeat the calculations for the rest)
The coordinate system I'm using is this:
Coordinate system of the sensor
The sensor is quite stable delivering several readings per second, which only change when I rotate the sensor. Placing the sensor horizontally on a table gives the readings [1.00, 0.01, -0.01, 0.00]
Maybe it makes sense to imagine a sphere with a radius of 1 in the center of a coordinate system. The point are all located on the surface of this sphere, thereby always having the distance 1 to the coordinate systems origin. The quaternion readings from the sensor then rotates the sphere and thereby the points on its surface, and I need to update the position of these points.
My math skills are not very good, and (if possible) explaining the calculations in java/javascript or Arduino(C++) would be a lot of help.
Thank you!
3d quaternions
New contributor
$endgroup$
I've been browsing the web for far too long, and still can't find a solution to this issue for my student project. Mind you my math skills are not that great, so I'm desperate for any help I can get! Most links I've visited or seen in forum posts has lead me to articles about Quaternion math solutions, which even though it is said to be simple, the articles are too advanced for my skills and it is really hard to get a sense (in 3D) of what is going on in. I've also tried using Euler Angles to do the calculations, but have run into issues with Gimble Lock, as the sensor I'm using needs to rotate freely, and sometimes upside down or in a 90 degree angle.
My problem:
I receive quaternion readings from a sensor hooked up to an Arduino. These readings come in the form [w, x, y, z] and change as I rotate the sensor around freely.
An example of these readings are: [0.93, 0.23, 0.21, -0.23]
I have an imaginary point floating in 3D, with coordinates [x, y z]. Let's use [1, 0, 0] as an example. The task is now to rotate this point around the center of the coordinate system using the quaternion readings from the sensor and hopefully to calculate the new updated xyz coordinates for the point.
I actually have 10 points I need to update their position based on the quaternion readings, but if I just learn how to move one point, I can repeat the calculations for the rest)
The coordinate system I'm using is this:
Coordinate system of the sensor
The sensor is quite stable delivering several readings per second, which only change when I rotate the sensor. Placing the sensor horizontally on a table gives the readings [1.00, 0.01, -0.01, 0.00]
Maybe it makes sense to imagine a sphere with a radius of 1 in the center of a coordinate system. The point are all located on the surface of this sphere, thereby always having the distance 1 to the coordinate systems origin. The quaternion readings from the sensor then rotates the sphere and thereby the points on its surface, and I need to update the position of these points.
My math skills are not very good, and (if possible) explaining the calculations in java/javascript or Arduino(C++) would be a lot of help.
Thank you!
3d quaternions
3d quaternions
New contributor
New contributor
New contributor
asked Apr 8 at 13:58
BrodersenBrodersen
1
1
New contributor
New contributor
$begingroup$
I've tried to follow this guide, but am still quite confused: youtube.com/watch?v=PsBx8Kkhc5Y
$endgroup$
– Brodersen
Apr 8 at 14:15
add a comment |
$begingroup$
I've tried to follow this guide, but am still quite confused: youtube.com/watch?v=PsBx8Kkhc5Y
$endgroup$
– Brodersen
Apr 8 at 14:15
$begingroup$
I've tried to follow this guide, but am still quite confused: youtube.com/watch?v=PsBx8Kkhc5Y
$endgroup$
– Brodersen
Apr 8 at 14:15
$begingroup$
I've tried to follow this guide, but am still quite confused: youtube.com/watch?v=PsBx8Kkhc5Y
$endgroup$
– Brodersen
Apr 8 at 14:15
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "69"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Brodersen is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3179668%2fhow-to-move-a-point-x-y-z-in-3d-space-around-a-center-0-0-0-using-quatern%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Brodersen is a new contributor. Be nice, and check out our Code of Conduct.
Brodersen is a new contributor. Be nice, and check out our Code of Conduct.
Brodersen is a new contributor. Be nice, and check out our Code of Conduct.
Brodersen is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Mathematics Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3179668%2fhow-to-move-a-point-x-y-z-in-3d-space-around-a-center-0-0-0-using-quatern%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
$begingroup$
I've tried to follow this guide, but am still quite confused: youtube.com/watch?v=PsBx8Kkhc5Y
$endgroup$
– Brodersen
Apr 8 at 14:15