2014-01-11 4 views
0

Matlab의 특정 지점에서 어떻게 3D 평면을 플로팅 할 수 있습니까? Matlab에서 3D 평면을 플롯 하시겠습니까?

다음 계수와 평면 방정식을

Z=(-a * X - b * Y)/c 

을 고려

a=0.01; b=0.03; c= 1; d=0. 

내가하지 원점 (0, 0)에 점 (100, 100)의 주위에이 평면을 플롯합니다. 어떻게 할 수 있니?

코드는 내가 사용 : 당신이 그것을 줄 지점의 어떤 세트

[X,Y] = meshgrid(x); 
a=0.1; 
b=0.2; 
c=1; 
d=0; 
Z=(-a * X - b * Y)/c; 
surf(X,Y,Z) 
shading flat 
xlabel('x') 
ylabel('y') 
zlabel('z') 
+0

X = 100 및 Y = 100 주위에 음모를 표시하겠습니까? 어떤 범위에서? –

+0

matlab에서 3D 비행기를 판다면 비행기의 중심은 기본적으로 (0,0,0)에있게됩니다. 비행기의 중심을 (0, 0, 0) 대신 (100,100,0)으로 만들고 싶습니다. – CS2013

+0

"음모"를 말하는 거지? 나는 그런 디폴트를 알지 못한다. 당신이 말하는 것을 보여주기위한 코드를 포함시켜 주시겠습니까? –

답변

3

surf() 단지 플롯을. 이러한 점을 생성하려면 XY에 의해 주어진 특정 좌표 집합에서 방정식을 계산해야합니다. 비행기의 100,100의 주위에 당신에게보기를 제공

[X, Y] = meshgrid(m-20:m+20, n-20:n+20); % e.g. +/-20 at resolution of 1 

: 임의의보기 m, n을 조정하기위한,

[X, Y] = meshgrid(95:0.1:105); % e.g. +/-5 at resolution of 0.1 

하거나, 말 : 그래서 당신은 그 포인트가 관심 영역을 중심으로해야 할 나는 당신이 요구하고있는 것이라고 생각하는 근원을 중심으로.

당신이 자체가 100,100를 중심으로 비행기를 원하는 또는 경우에, 당신은 방정식에 오프셋이 필요합니다 다음 그래서

Z=(-a * (X - 100) - b * (Y - 100))/c; 

원점을 중심으로보기 주위에 원래의 비행기를 볼 수에 해당 될 것입니다 -100, -100.