MATLAB: How to translate a 2D shape to its centroid

centroidtranslation

Hi, I am using MATLAB R2020a on a MacOS. I am attempting to translate the blue shape shown here about its centroid onto the orange shape for comparison of the morphologies of these 2 plots, but I am unsure as to how to do this:
Any suggestions would be greatly appreciated. Thanks in advance

Best Answer

Try this:
meanBlueX = mean(vBlue); % x

meanBlueY = mean(wBlue); % y

meanOrangeX = mean(vOrange); % x
meanOrangeY = mean(wOrange); % y
% Shift the blue by subtracting blue mean and adding in orange mean.
vBlue = vBlue -meanBlueX + meanOrangeX;
wBlue = wBlue -meanBlueY + meanOrangeY;