<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif; ">
<div>
<div>
<div>I've never done this, and maybe there is an existing established way to do it, but a simple Google search did not reveal it. Here is what I think from my understanding of the movement of rigid bodies.</div>
</div>
</div>
<div><br>
</div>
<div>First, the rotation only makes sense around some fixed point. For example, OpenGL defines all rotations around the origin of the coordinate system, but I'm sure that is not what John is after. I'm guessing that he would probably be interested in rotations
 around the center of mass. An average of all the point coordinates might be a close enough approximation to the center of mass.</div>
<div><br>
</div>
<div>Next, find the translation of the rigid body by looking at the displacement at the center of mass. That displacement is the translation. Now subtract that translation vector from all the displacements to get what I will call the rotation displacement (a
 term I just made up).</div>
<div><br>
</div>
<div>Now you can use any of these rotation displacements to find the rotation. Technically any one displacement will give you the rotation (because it is a rigid body), but you should pick one far away from the axis of rotation. Just find one with a large rotation
 displacement and that would be fine. Consider the vector from the center of mass to the original point and the vector from the center of mass to the point moved by the rotation displacement. The cross product of those two vectors should be in the direction
 of the axis of rotation and its length is equal to the product of the lengths of those two vectors times the sine of the angle of rotation.</div>
<div><br>
</div>
<div>-Ken</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<span style="font-weight:bold">From: </span><Scott>, Walter Scott <<a href="mailto:wascott@sandia.gov">wascott@sandia.gov</a>><br>
<span style="font-weight:bold">Date: </span>Tuesday, July 8, 2014 5:25 PM<br>
<span style="font-weight:bold">To: </span>Berk Geveci <<a href="mailto:berk.geveci@kitware.com">berk.geveci@kitware.com</a>><br>
<span style="font-weight:bold">Cc: </span>"<a href="mailto:paraview@paraview.org">paraview@paraview.org</a>" <<a href="mailto:paraview@paraview.org">paraview@paraview.org</a>><br>
<span style="font-weight:bold">Subject: </span>Re: [Paraview] [EXTERNAL] Re: Rotational velocities<br>
</div>
<div><br>
</div>
<div xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125); ">From my user:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125); "><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125); ">Alan,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125); "><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125); ">I am not sure I have a good answer. Let’s say we have a block of elements moving through space that represent some component. That component is translating
 and rotating as a rigid body (or flexible/deformable body). I want to be able to calculate in paraview the rigid body translation and rotation of the body based on the nodal displacement or coordinate information. The nodes only include translation information
 since they are from hexahedral elements. I am not aware of the algorithm for performing that calculation, but I am pretty sure one exists for a rigid body (maybe even for a deformable body as well – although in the latter case, I would guess the algorithm
 is not exact). Digital image correlation techniques come to mind. The DIC people perform these calculations all the time somehow. Anyway, that is what I want to be able to do. Say something like “calculate motion of block 100” and plot the six degree of freedom
 translation and rotations versus time. And then save the information to an ASCII file for plotting in an external program, such as excel.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125); "><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125); ">John<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125); "><o:p> </o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><b><span style="font-size: 10pt; font-family: Tahoma, sans-serif; ">From:</span></b><span style="font-size: 10pt; font-family: Tahoma, sans-serif; "> Berk Geveci [<a href="mailto:berk.geveci@kitware.com">mailto:berk.geveci@kitware.com</a>]
<br>
<b>Sent:</b> Tuesday, July 08, 2014 5:10 PM<br>
<b>To:</b> Scott, W Alan<br>
<b>Cc:</b> <a href="mailto:paraview@paraview.org">paraview@paraview.org</a><br>
<b>Subject:</b> [EXTERNAL] Re: [Paraview] Rotational velocities<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
<div>
<p class="MsoNormal" style="margin-left:.5in">It would be good to have some more clear mathematical definition of (2). I am assuming it involves some sort of integration but it is not clear.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:0in;margin-right:0in;margin-bottom:12.0pt;margin-left:.5in">
<o:p> </o:p></p>
<div>
<p class="MsoNormal" style="margin-left:.5in">On Tue, Jul 8, 2014 at 5:45 PM, Scott, W Alan <<a href="mailto:wascott@sandia.gov" target="_blank">wascott@sandia.gov</a>> wrote:<o:p></o:p></p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.5in">
<span style="color:#1F497D">Two questions from a user.  I don’t yet know if the user is using ParaView remote server.  I know that we have number 1) being implemented, but is there any other way to do it?  Any ideas on 2)?</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.5in">
<span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.5in">
<span style="color:#1F497D">Thanks,</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.5in">
<span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.5in">
<span style="color:#1F497D">Alan</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.5in">
<span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.5in">
 <o:p></o:p></p>
<p style="margin-left:.5in">1)<span style="font-size:7.0pt">      </span>I want to calculate the average nodal velocity for nodes in a particular element block. How do I do that? The documentation for paraview discussing how one might do that is very confusing
 and not all that helpful.<o:p></o:p></p>
<p style="margin-left:.5in"> <o:p></o:p></p>
<p style="margin-left:.5in">2)<span style="font-size:7.0pt">      </span>I want to calculate the rotational velocities of a component (block of elements) in paraview using the nodal translational velocities. How do I do that?<o:p></o:p></p>
<p style="margin-left:.5in"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.5in">
Thanks for your help.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.5in">
 <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.5in">
 <o:p></o:p></p>
</div>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:0in;margin-right:0in;margin-bottom:12.0pt;margin-left:.5in">
<br>
_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">
http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the ParaView Wiki at: <a href="http://paraview.org/Wiki/ParaView" target="_blank">
http://paraview.org/Wiki/ParaView</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/paraview" target="_blank">http://public.kitware.com/mailman/listinfo/paraview</a><o:p></o:p></p>
</div>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
</div>
</div>
</div>
</div>
</span>
</body>
</html>