<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Simultaneously rotate and translate an array in LabVIEW</title>
    <link>https://forums.ni.com/t5/LabVIEW/Simultaneously-rotate-and-translate-an-array/m-p/1225878#M521663</link>
    <description>&lt;P&gt;Is there any easy way to&amp;nbsp;simultaneously&amp;nbsp;rotate and translate an array (or matrix)? This would be similar to a 4x4 homogeneous transform, but instead of finding the new location of a point, I would like to rotate and shift an entire array based on position and orientation data.&lt;/P&gt;</description>
    <pubDate>Tue, 24 Aug 2010 20:06:15 GMT</pubDate>
    <dc:creator>RachBis</dc:creator>
    <dc:date>2010-08-24T20:06:15Z</dc:date>
    <item>
      <title>Simultaneously rotate and translate an array</title>
      <link>https://forums.ni.com/t5/LabVIEW/Simultaneously-rotate-and-translate-an-array/m-p/1225878#M521663</link>
      <description>&lt;P&gt;Is there any easy way to&amp;nbsp;simultaneously&amp;nbsp;rotate and translate an array (or matrix)? This would be similar to a 4x4 homogeneous transform, but instead of finding the new location of a point, I would like to rotate and shift an entire array based on position and orientation data.&lt;/P&gt;</description>
      <pubDate>Tue, 24 Aug 2010 20:06:15 GMT</pubDate>
      <guid>https://forums.ni.com/t5/LabVIEW/Simultaneously-rotate-and-translate-an-array/m-p/1225878#M521663</guid>
      <dc:creator>RachBis</dc:creator>
      <dc:date>2010-08-24T20:06:15Z</dc:date>
    </item>
    <item>
      <title>Re: Simultaneously rotate and translate an array</title>
      <link>https://forums.ni.com/t5/LabVIEW/Simultaneously-rotate-and-translate-an-array/m-p/1226240#M521721</link>
      <description>&lt;P&gt;hi rachbis,&lt;/P&gt;
&lt;P&gt;&amp;nbsp; Could you explain in detail regarding your requirement...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks and regard,&lt;/P&gt;
&lt;P&gt;srikrishnaNF&lt;/P&gt;</description>
      <pubDate>Wed, 25 Aug 2010 06:08:46 GMT</pubDate>
      <guid>https://forums.ni.com/t5/LabVIEW/Simultaneously-rotate-and-translate-an-array/m-p/1226240#M521721</guid>
      <dc:creator>srikrishnaNF</dc:creator>
      <dc:date>2010-08-25T06:08:46Z</dc:date>
    </item>
    <item>
      <title>Re: Simultaneously rotate and translate an array</title>
      <link>https://forums.ni.com/t5/LabVIEW/Simultaneously-rotate-and-translate-an-array/m-p/1226614#M521782</link>
      <description>&lt;P&gt;Do you have a mathematical algorithm which will do the rotation and translation in one step? I think rotation is a matrix multiplication while translation is an addition. &amp;nbsp;Both are easy to do in LV. &amp;nbsp;If your arrays are small, this could be quite fast.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Lynn&lt;/P&gt;</description>
      <pubDate>Wed, 25 Aug 2010 13:10:23 GMT</pubDate>
      <guid>https://forums.ni.com/t5/LabVIEW/Simultaneously-rotate-and-translate-an-array/m-p/1226614#M521782</guid>
      <dc:creator>johnsold</dc:creator>
      <dc:date>2010-08-25T13:10:23Z</dc:date>
    </item>
    <item>
      <title>Re: Simultaneously rotate and translate an array</title>
      <link>https://forums.ni.com/t5/LabVIEW/Simultaneously-rotate-and-translate-an-array/m-p/1226986#M521866</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;I have a 2D array (or matrix) of values that are recorded when a sensor is at a specific location. The sensor then moves (translation and rotation) and a new 2D array is recorded. I wish to simultaneously translate/rotate the second array (based on how the sensor has moved) so that the second array correctly aligns with&amp;nbsp;aligns&amp;nbsp;with the first &amp;nbsp;-&amp;nbsp;&amp;nbsp;so that the same element index in each array represents the same location. I understand that there will be some mismatch along the edges of the two arrays,&amp;nbsp;depending&amp;nbsp;on the size of the translation/rotation.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; I have tried converting the arrays to an IMAQ image and then using IMAQ Rotate and IMAQ Shift VIs (then converting the images back to arrays). The Rotate VI is helpful in that it performs the&amp;nbsp;necessary&amp;nbsp;interpolation (the pixels change size/shape when rotated). However, this method is not very efficient (I am sure there is a lot of overhead associated with converting an array to and from and IMAQ image) and not very accurate as the rotation and translate happen in series instead of&amp;nbsp;simultaneously.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; If there is a way to rotate/translate&amp;nbsp;simultaneously&amp;nbsp;with IMAQ, I could use that, but if you know of any other functions that will allow me to rotate/translate the array, that would be wonderful.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Rachael&lt;/P&gt;</description>
      <pubDate>Wed, 25 Aug 2010 16:53:21 GMT</pubDate>
      <guid>https://forums.ni.com/t5/LabVIEW/Simultaneously-rotate-and-translate-an-array/m-p/1226986#M521866</guid>
      <dc:creator>RachBis</dc:creator>
      <dc:date>2010-08-25T16:53:21Z</dc:date>
    </item>
    <item>
      <title>Re: Simultaneously rotate and translate an array</title>
      <link>https://forums.ni.com/t5/LabVIEW/Simultaneously-rotate-and-translate-an-array/m-p/1227256#M521944</link>
      <description>&lt;P&gt;If you're just doing array math, check out the Mathematics &amp;gt;&amp;gt; Geometry palette. Alternatively, if you can figure out the Matrix math you'll need to perform you can convert from an array to a matrix (look in the array palette for the conversion vis) and use the Linear Algebra palette also found within Mathematics. I don't think you're going to find a VI that does both at the same time, which leaves the question "is there a reason this can't be done in sequence?"&lt;/P&gt;</description>
      <pubDate>Wed, 25 Aug 2010 19:56:48 GMT</pubDate>
      <guid>https://forums.ni.com/t5/LabVIEW/Simultaneously-rotate-and-translate-an-array/m-p/1227256#M521944</guid>
      <dc:creator>Verne_D</dc:creator>
      <dc:date>2010-08-25T19:56:48Z</dc:date>
    </item>
    <item>
      <title>Re: Simultaneously rotate and translate an array</title>
      <link>https://forums.ni.com/t5/LabVIEW/Simultaneously-rotate-and-translate-an-array/m-p/1227442#M521992</link>
      <description>&lt;P&gt;You must then compare the two data sets, after the manipulation.&amp;nbsp; Right?&amp;nbsp; Why not build the translate and rotate into the comparison.&amp;nbsp; Does the sensor location repeat for each test run?&amp;nbsp; If it does, then you could manipulate the loop varaible(s) to pull the correct pixel out of the data.&amp;nbsp; I'm imagining a 9 x 9 grid (0,1,2),(3,4,5),(6,7,8).&amp;nbsp; Camera 1 is on 3 with up on 0.&amp;nbsp; Camera 2 is on 1 with up on 2.&amp;nbsp; Mapping would be 0-2, 1-5, 2-8, 3-1, 4-4, 5-7, 6-0, 7-3, 8-6. so loop index for array 1 would&amp;nbsp;start at&amp;nbsp;i=0, c=0 and the manipulated index would be&amp;nbsp;i=c,c=2-i. to get (-2,-4,-6), (2,0,-2), (6,4,2).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;See example.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Good Luck!&lt;/P&gt;</description>
      <pubDate>Wed, 25 Aug 2010 22:56:29 GMT</pubDate>
      <guid>https://forums.ni.com/t5/LabVIEW/Simultaneously-rotate-and-translate-an-array/m-p/1227442#M521992</guid>
      <dc:creator>Drewski</dc:creator>
      <dc:date>2010-08-25T22:56:29Z</dc:date>
    </item>
  </channel>
</rss>

