Это связано с моим предыдущим вопросом ( Функция исправления Matlab с интерполяцией дает другой результат в зависимости от порядка вершин ), где я исправил свой код, включив первую вершину в качестве последней, чтобы закрытьпатч, и получил согласованные ответы.
Теперь, когда патч находится в квадратной области, если я сдвигаю цветовые координаты, интерполированный патч должен быть последовательным, но это не так.Я буду использовать тот же пример:
x = [0.9000 1.0000 1.0000 0.9000]';
y = [0.5000 0.5000 0.6000 0.6000]';
c = [0.0278 0.0371 0.0325 0.0282]';
order1 = [1:4,1]; %Edit according to last answer
figure;patch(x(order1),y(order1),c(order1));
order2 = [2:4,1:2];%order shift only for color
figure;patch(x(order1),y(order1),c(order2));
Несоответствие трудно понять.Любое объяснение или способ обойти это было бы полезно.