我正在尝试通过Matlab(R2018)中的图形有效地转换多边形。我目前正在使用patch():
player.block = hgtransform;
patch('XData',x,'YData',y,'FaceColor','blue','Parent',player.block);
然后再...
player.block.Matrix = makehgtform('translate',[0 player.pos 0]);
效果很好。但是,当有多个补丁可以移动图形滞后时,我改为尝试使用polyshape()命令。从documentation说起,您可以将Polyshape对象设置为变换对象的子对象。我尝试这样做,如下所示:
block = hgtransform;
square = polyshape(x,y);
player.block = plot(square);
player.block.Parent = block;
然后我得到“无法将属性设置为已删除的对象”。
如何使用HGTransform翻译Polyshape对象/甚至有可能?