surfnorm matlab 함수를 사용하여 표면 법선을 계산하고 있습니다. 내가 이것을 다음과 같이 쓸 때 : surfnorm(pcloud(:,:,1),pcloud(:,:,2),pcloud(:,:,3));
표면의 모습이 나타나지만 정상적인 값은 저장되지 않습니다. 그래서 나는 [Nx,Ny,Nz]=surfnorm(pcloud(:,:,1),pcloud(:,:,2),pcloud(:,:,3));
을 사용했지만 [Nx, Ny, Nz]의 정상 값을 저장하지는 않았지만 정상적인 수치는 표시하지 않았습니다. 둘 다 만드는 방법?surfnorm을 표시하고 Matlab에 값을 저장하십시오.
1
A
답변
1
문서에 따르면 동시에 수행 할 두 가지 작업이 상호 배타적 인 것으로 나타납니다
[Nx,Ny,Nz] = SURFNORM(X,Y,Z) returns the components of the 3-D surface normal for the surface with components (X,Y,Z). The normal is normalized to length 1. [Nx,Ny,Nz] = SURFNORM(Z) returns the surface normal components for the surface Z. Without lefthand arguments, SURFNORM(X,Y,Z) or SURFNORM(Z) plots the surface with the normals emanating from it. SURFNORM(AX,...) plots into AX instead of GCA.
그러나, 일단 당신이 표면 정상적인 그림에서 법선 벡터 데이터를 검색 할 수 있습니다 생성,
h=figure;
surfnorm(pcloud(:,:,1),pcloud(:,:,2),pcloud(:,:,3));
axesObjs = get(h, 'Children');
dataObjs = get(axesObjs, 'Children');
[Nx,Ny,Nz] = deal(get(dataObjs(1), 'XData').', get(dataObjs(1), 'YData').', get(dataObjs(1), 'ZData').');
복잡하게 보입니다. 그러나 계산 비용 인 경우이 문제를 피하는 것이 가장 좋은 방법 일 것입니다. 입니다.
편집 : h=gcf
다음 figure
를 호출
(1) 당신은 대체 할 수 있습니다 h=figure
.
(2) Nx, Ny, Nz
벡터의 나의 해석은 당신이 볼 수 [Nx,Ny,Nz]
당신은 인쇄, 그래서 만약 surfnorm
에 의해 그려진 위치와 벡터의 방향 (반드시 정규화되지 않음)에 대한 좌표뿐만 아니라 추가 NaN
값을 포함 즉 예 :
0 0 -1.0000 <-- position of origin
0 0 -1.0000 <-- direction of vector
NaN NaN NaN <-- nonsense
-0.5878 0 -0.8090
-0.7036 -0.0344 -0.9684
NaN NaN NaN
-0.9511 0 -0.3090
-1.1341 -0.0543 -0.3685
NaN NaN NaN
-0.9511 0 0.3090
-1.1341 -0.0543 0.3685
NaN NaN NaN
....
관련 문제
- 1. 잘린 그림을 Matlab에 저장하십시오.
- 2. Matlab에 플롯을 매트릭스로 저장하십시오.
- 3. 선택한 텍스트를 강조 표시하고 저장하십시오.
- 4. MatLab에 모든 더티 파일을 프로그래밍 방식으로 저장하십시오.
- 5. matlab에 텍스트 파일을 열고 matlab에서 파일을 저장하십시오.
- 6. 텍스트를 바이너리로 변환하고 matlab에 단일 배열로 저장하십시오.
- 7. 모델의 정보를 표시하고 다른 모델에 저장하십시오.
- 8. Google지도에서 여러 배달 구역을 표시하고 데이터베이스에 저장하십시오.
- 9. Android 다음 탭에 데이터를 표시하고 저장하십시오.
- 10. PictureEdit.Image의 NULL 값을 저장하십시오.
- 11. 숫자 값을 변수로 저장하십시오.
- 12. URL에 해시 값을 저장하십시오.
- 13. 변수의 값을 저장하십시오.
- 14. 값을 문자열 배열에 저장하십시오.
- 15. 부울 값을 UITableviewcell에 저장하십시오.
- 16. 확인란의 값을 저장하십시오.
- 17. 데이터베이스에 RGB 값을 저장하십시오.
- 18. 데이터베이스에 확인란의 값을 저장하십시오.
- 19. 데이터베이스에 입력 값을 저장하십시오.
- 20. matlab에
- 21. 이미지를 이동하고 값을 표시하고 현재 값을 저장합니다.
- 22. 함수의 값을 임의의 값을 반환하는 변수에 저장하십시오.
- 23. 브라우저의 원래 값을 유지하면서 URL의 값을 저장하십시오.
- 24. 값을 변경 한 후 UISlider 값을 저장하십시오.
- 25. matlab에
- 26. DropDownList에 나열된 값을 표시하고 잡습니다.
- 27. 다른 값을 표시하고 반환하는 RecyclerView
- 28. matlab에
- 29. django의 SQL 데이터베이스에 값을 저장하십시오.
- 30. sessionStorage에 체크 박스 값을 저장하십시오.
이 오류는 "오류를 사용하여 오류가 발생합니다. ==>이 줄에서 잘못된 핸들을 얻으십시오"axesObjs = get (h, 'Children'); " – Tak
예 4 줄의 코드를 사용하고 있습니다. – Tak
@ user1460166 : 내 생각에이 버전은 matlab 버전 문제입니다. 어떤 버전을 사용하고 있습니까? Surfnorm 객체의 데이터 저장은 버전간에 변경되었을 수 있습니다. 그것은 단지 방법을 알아내는 것입니다 :'h'와'get (h)'결과를 게시하십시오 –