2010-09-23 72 views
0

下面爲所述第一步驟的代碼:如何用MATLAB繪製3D矢量並沿着拋物線移動它?

t = -20:0.1:20; 
plot3(zeros(size(t)),t,-t.^2); 
hold on 
i = 1; 
h = plot3([0 0],[0 t(i)],[0 -t(i)^2],'r'); 
for(i=2:length(t)) 
    set(h,'xdata',[0 0],'ydata',[0 t(i)],'zdata',[0 -t(i)^2]); 
    pause(0.01); 
end 

現在我繪製第二向量,固定在該空間中,與移動矢量的相同的起源,說[0 0 0]和結束時,例如,[0 0 30]。兩個矢量之間有一個角度,具有相同的原點。

我的問題: 我想計算這個角的平分線,並顯示在空間中移動平分線,在連接到第一向量的運動方式。

感謝您的幫助

+0

請註明,你的代碼的代碼。 – 2010-09-23 10:58:02

+0

[我如何用MATLAB繪製3D矢量並沿着拋物線移動它?](http://stackoverflow.com/questions/3761944/how-i-can-draw-a-3d-vector-with -matlab-and-move-it-along-a-parabola) – 2013-04-09 10:22:02

回答

0

使用新的處理程序(G爲例)來存儲平分「plot3」。

在每一步計算平分線方程,並使用「set」更新處理程序g(與h一樣)。

編輯:

要計算平分:

U = [1 2 3]; 
V = [4 5 6]; 
B = U/norm(U) + V/norm(V); 
B = B/norm(U); % Bisector is now of norm 1 
B = B * norm(U); % easier for plotting, bisector and U and now equal norms 
+0

謝謝你的回答,但是,可能有代碼。我真的不知道如何自動計算移動矢量每個位置的兩個矢量的平分線。 – vittorio 2010-09-24 13:20:33

+0

一個簡單的方法:正常化你的2個向量(norm = 1),然後平分線就是你的2個向量的總和。你現在可以改變它的規範,以提高可視性。 – 2010-09-24 13:22:45

+0

感謝您的幫助,但實際上我無法計算兩個矢量之間角度的平分線。 – vittorio 2010-09-26 14:28:24