주어진 점에 가장 가까운 평면에서 점을 찾으려고합니다. 저는 비행기의 방정식, 점과 그 사이의 거리를가집니다. 주어진 점에 가장 가까운 점을 평면에서 찾는 방법은 무엇입니까?점에 가장 가까운 점 평면
저는 측면이있는 정사면체가 있습니다 : bcx = 0, acy = 0, abz = 0, x/a + y/b + z/c = 1 (a, b, c는 Ax + 평면 방정식에서 + Cz = D를 사용하면 스크립트를 실행할 때이 값을 입력해야합니다.
function [d n]=tetradist(x,y,z,a,b,c)
if z>0 && y>0 && x>0 && z<c && y<b && x<a && x/a+y/b+z/c<1
d1=abs(a*b*z)/sqrt((a*b)^2);
d2=abs(b*c*x)/sqrt((b*c)^2);
d3=abs(a*c*y)/sqrt((a*c)^2);
d4=abs(b*c*x+a*c*y+a*b*z-a*b*c)/sqrt((b*c)^2 + (a*c)^2 + (a*b)^2);
A = [d1 d2 d3 d4];
B = sort(A,'ascend');
d = B(1);
point=[x y z];
if d==d1
normalv=[0 0 a*b]';
elseif d==d2
normalv=[b*c 0 0]';
elseif d==d3
normalv=[0 a*c 0]';
else
normalv=[b*c a*c a*b]';
end
end
이제 가장 가까운 거리, 벡터 및 가장 가까운 평면의 법선 벡터를 나타냅니다. 이제 내 점 '점'에 가장 가까운 평면에서 점을 어떻게 찾을 수 있습니까?
미리 감사드립니다.
수학적으로 묻고 있습니까? 아니면 어떻게 Matlab에서 그것을 할 수 있습니까? 전, 아마도 math.stackexchange가 더 좋은 경우, 후자의 경우 일부 코드 및 방정식 등을 게시하십시오. – Dan
matlab에서 수학적으로 할 수 있지만 문제는 스크립트를 작성하여 검색 할 때입니다. points 나는 모든 점들을 반복하면서 그것을 찾으려고 노력한다. 그러나 점에 몇 개의 소수점이 있기 때문에 루프는 매우 불쾌해진다. – simtaxman
지금까지 가지고있는 코드 게시 – Dan