İkinci dereceden Lagrange polinomlarını çizmek için basit bir arayüz oluşturmaya çalışıyorum. Bunun için, sadece 3 puan (her biri kendi x, y, z koordinatları ile) gerekir, bunlar daha sonra ikinci dereceden Lagrange polinomları kullanılarak enterpolasyona tabi tutulur.MATLAB arsa nasıl interaktif hale getirilir?
Bu statik bir sürümünü yapmak kolaydır, ya eğrisinin çizilmesi önce kullanıcı girişi 3 puan sağlar hatta bir. Ancak, kullanıcının mevcut bir noktayı çizim penceresinde başka bir konuma sürüklemesi ve bu noktanın yeni konumunu kullanarak eğriyi otomatik olarak yeniden oluşturması da mümkün olmalıdır!
Yani kısacası, kullanıcı başka bir konuma bu siyah noktalar sürüklemek mümkün olmalıdır. Bundan sonra (veya sürüklerken), eğri güncellenmelidir.
function Interact()
% Interactive stuff here
figure();
hold on;
axis([0 7 0 5])
DrawLagrange([1,1; 3,4; 6,2])
function DrawLagrange(P)
plot(P(:,1), P(:,2), 'ko--', 'MarkerSize', 10, 'MarkerFaceColor', 'k')
t = 0:.1:2;
Lagrange = [.5*t.^2 - 1.5*t + 1; -t.^2 + 2*t; .5*t.^2 - .5*t];
CurveX = P(1,1)*Lagrange(1,:) + P(2,1)*Lagrange(2,:) + P(3,1)*Lagrange(3,:);
CurveY = P(1,2)*Lagrange(1,:) + P(2,2)*Lagrange(2,:) + P(3,2)*Lagrange(3,:);
plot(CurveX, CurveY);
Ben de ve WindowButtonMotionFcn, WindowButtonDownFcn, WindowButtonUpFcn veya Görüntü İşleme Toolbox dan ImPoint gibi işlevleri kullanmak zorunda düşünüyorum. Ama nasıl?
[Düzenle] Ben ürün yüzeyleri tensör bu kavramı genelleme istiyorum çünkü Ayrıca, 3D çalışmalıdır.
Hiç bunu linkdata ile çözmeyi denediniz mi? –