필터 지우기
필터 지우기

Reduce the length of the vector

조회 수: 4 (최근 30일)
Mirzobek Malikov
Mirzobek Malikov 2022년 8월 30일
댓글: Mirzobek Malikov 2022년 8월 30일
I have two points B1(2.91, 8.05, 43.85), A1(23.97, 4.65, 25) and center(4.15, 1.11, 25). I draw a circle using these three points. Then from these points I have two vectors to get a normal vector from the center. From my data, the normal vector length is too long. I have normalized the normal vector but in the plot its angle was different, when i checked the dot( N-O1, A1-O1) or dot( N-O1, B1-O1) were nonzero.
Is there any function or an approach to reduce the length of it by saving it to be a normal vector.
The normal vector gained by using cross(B1-O1, A1-O1) command.

채택된 답변

Matt J
Matt J 2022년 8월 30일
편집: Matt J 2022년 8월 30일
when i checked the dot( N-O1, A1-O1) or dot( N-O1, B1-O1) were nonzero.
You should be checking dot( N, A1-O1)
B1=[2.91, 8.05, 43.85];
A1=[23.97, 4.65, 25];
O1=[4.15, 1.11, 25];
N=normalize( cross(B1-O1, A1-O1) ,'n');
norm(N)
ans = 1
dot(N,A1-O1)
ans = 4.4409e-16
dot(N,B1-O1)
ans = -4.9960e-16
  댓글 수: 4
Matt J
Matt J 2022년 8월 30일
편집: Matt J 2022년 8월 30일
Sorry, I don't follow. By nature, normal vectors have direction. They do not have "position".
Mirzobek Malikov
Mirzobek Malikov 2022년 8월 30일
it's ok. i found the solution to for changing direction of the normal vector. Just multiply N with minus. dot(-N, A1-O1) give zero value.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Surface and Mesh Plots에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by