텍스처 맵이있는 서페이스를 그려보고 싶지만 조건이 "이상적인"것이 아닙니다.텍스처 맵을 사용하여 서페이스를 플롯하는 방법
먼저 내가 가진 것을 설명해주십시오.
나는 그리드에서 이미지 좌표 인 점들 (~ 7000)을 가지고있다. 이 포인트는 완벽한 사각형을 정의하지 않습니다.메슈른이 아니며입니다. 질문을 위해서, 우리는 9 점이 있다고 가정합시다. 그래서,
X=[310,270,330,430,410,400,480,500,520]
Y=[300,400,500,300,400,500,300,400,500]
우리가 그리드의 "구조"를 얻을 수 있습니다 말할 수 있습니다
size1=3;
size2=3;
points=zeros(size1,size2,2)
X=[310,270,330;
430,410,400;
480,500,520]
Y=[300,400,500;
300,400,500;
300,400,500]
points(:,:,1)=X;
points(:,:,2)=Y;
을 그리고 지금 우리는 3 차원, Z가 있다고 할 수 있습니다 : 우리는 이미지를 가지고있는 ilustrate을 수 있습니다
편집 : 정보를 추가하는 것을 잊어 버렸습니다. 나는 이미지의 점들을 삼각형으로 연결하고 3D 서신을 얻는다. 그래서 표면에 표시 될 때 그들은 이미지의 X와 Y 좌표를 갖지 않는다. 주어진 데이터의 단순화를 위해 X = X/2 Y = Y라고 말할 수있다./3
는 그리고 우리는이 : 내가 원하는 것은 이미지 텍스처와 3D로 표면을 플롯하는 것입니다
points=zeros(size1,size2,3)
Z=[300,330,340;
300,310,330;
290,300,300]
surf(points(:,:,1)/2,points(:,:,2)/3,points(:,:,3))
. 각 요소에는 첫 번째 이미지에있는 텍스처 조각이 있어야합니다.
거대한 데이터 시트에서 작동해야합니다. 특별히 빠른 것이 필요하지 않습니다.
관련 포스트 (하지만 난 점의 초기 설정으로 meshgrid있다) : Texture map for a 2D grid
PD : 내가 필요한 경우 내가 그것을 작은으로 쉽게 생각하기 때문에 + 실제 데이터, 그냥이 게시 원본 이미지를 게시 할 수 있습니다 데이터.
굉장한 친구. 나는 그 생각을 거짓말한다. 나는 이런 짓을하려고 노력할 것이고, 그것은 아주 잘 작동 할 것이다. 그럼에도 불구하고, 알고 싶습니다. 얼마나 오래 걸렸습니까? 빠른 것 같습니다! –
@AnderBiguri 감사합니다! 아이디어를 얻은 후에 코드를 작성하는 데 몇 분이 걸렸습니다. 이 작은 데이터 세트는 멋지고 빠릅니다. "거대한"데이터 세트는 어떻게됩니까? – shoelzer
나는 아직도 그것을 작정 짓는 것을 달성하지 못한다. 그것은 약간의 mroe complex이지만, 아이디어가 옳다. –