我怎样才能只调用一次我的函数来平移、旋转等?

how can i call my function just once to translate,rotate etc?

你好,我有一个功能和一个问题:)

function[result] = transform_vertices(v, m)
    for i = 1 : size(v,2)
        v(:,i) = m * v(:,i); 
    end
    result = v;
end

我应该只使用一次这个功能(transform_vertices)来旋转,翻译但是我怎么能只使用一次呢?我的代码是

image1_vertices = quad;
image1_vertices = transform_vertices(transform_vertices(quad,mrotate(30)),mtranslate(-2,0));

> PS: mtranslate and mrotate are also function which calculates
> rotation,translation

我猜quad是一组坐标?您的 transform_vertices 函数仅执行左矩阵乘法。所以如果你这样做,你会得到相同的结果:

image1_vertices = transform_vertices(quad, mtranslate(-2,0)*mrotate(30));

事实上,你甚至不需要使用该功能,你可以这样做:

image1_vertices = mtranslate(-2,0) * mrotate(30) * quad;