2012-06-05 5 views
3

xyz 포인트 형식으로 3D 표면 (즉, 지진 단층면)을 나타내는 데이터가 있습니다. 이 표면들에 대한 3D 표현을 만들고 싶습니다. 나는 rgl과 akima를 사용하여 약간의 성공을 거두었지만 동일한 x, y 지점에서 다중 z 값을 가질 수있는 지오메트리는 실제로 처리 할 수 ​​없습니다. 또는 기하학 (qhull의 convhulln 함수)을 사용하여 rgl에 멋지게 표시되는 볼록 선체를 만들 수 있지만 실제로는 객체가 열려있는 경우 (점 집합을 완전히 둘러싸 지 않음) 닫힌 서피스입니다. 이러한 서페이스를 만들고이를 rgl로 렌더링하는 방법이 있습니까?3D 표면 렌더링

명확히하기 위해 EDIT는 점은 표면을 정의하는 포인트 클라우드에 있습니다. 그들은 표면 전체에 걸쳐서 커버리지의 밀도를 변화시킨다. 그러나 가장 중요한 문제는 표면이 닫히지 않은 일방적 인 것이고 더 복잡한 형상에 대해 닫히지 않은 메쉬/표면을 생성하는 방법을 모르겠습니다. 예를 들어

...

require(rgl) 
require(akima) 
faultdata<-cbind(c(1,1,1,2,2,2),c(1,1,1,2,2,2),c(10,20,-10,10,20,-10)) 
x <- faultdata[,1] 
y <- faultdata[,2] 
z <- faultdata[,3] 
s <- interp(x,z,y,duplicate="strip") 
surface3d(s$x,s$y,s$z,col=a,add=T) 

이 내가 원하는 것을 일반적으로 만듭니다. 그러나 더 복잡한 평면의 경우 이것이 반드시 작동하지는 않습니다. 예 : 데이터는 다음과 같습니다.

faultdata<-cbind(c(2,2,2,2,2,2),c(1,1,1,2,2,2),c(10,20,-10,10,20,-10)) 

포인트가 모두 수직으로 동일 평면이기 때문에이 접근법을 사용할 수 없습니다. 나는 또한 같은 문제 때문에 convhulln을 사용할 수 없으며 일반적으로 닫힌 선체를 원하지 않는다. 나는 표면을 원한다. alphashape3d를 보았는데 유망 해 보였지만이 문제를 해결하는 방법을 모르겠습니다.

+0

[PhiloGL] (http://philogb.github.com/)과 같은 WebGL 기반 라이브러리에 관심이 있습니다. 이 [데모] (http://www.senchalabs.org/philogl/PhiloGL/examples/temperatureAnomalies/)는 매력적입니다. – CapelliC

+0

rgl (필요한 모든 그래픽 프리미티브를 제공합니다)에서 확실히이 작업을 수행 할 수 있습니다. 위에 제시된 예제들 중 하나 (단일 서피스, 볼록 선체)보다 사전 패키지되지 않았기 때문입니다. 예제 데이터를 게시하면 누군가가 그 결과를 줄 수 있습니다 ... –

+0

입력이 점 구름입니까? 밀도에 대한 아이디어를 얻기 위해 예제 그림을 제공 할 수 있습니까? – sloriot

답변

2

포인트가 표면으로 연결되는 방법을 어떻게 결정합니까? 거리별로? 이는 한 가지 방법 일 수 있으며 alphashape3d 패키지가 유용 할 수 있습니다. 그렇지 않으면 연결 방법을 정확하게 알고 있다면 rgl 구조로 직접 시각화 할 수 있습니다.

+0

각 결함 표면에 포인트를 정의하는 일련의 점이 있습니다. 그들은 지형 학자/지진 학자에 의해 정의되었는데, 기본적으로 공간을 정의하는 점 구름을 만듭니다. 그들은 표면 전체에 걸쳐서 커버리지의 밀도를 변화시킨다. 어떤 것은 평면의 가장자리를 단순히 덮어 씌우는 것 뿐이며, 다른 것들은 가장자리를 매우 세부적으로 커버하고 여러 지점에서 정의 된 물결 치는 3D면을 가지고 있습니다. 하지만 내 주요 문제는 자체적으로 닫히지 않는 포인트 클라우드에서 렌더링 할 수있는 단면 서피스를 만드는 방법을 알지 못한다는 것입니다. – DWAHL

+0

귀하의 질문에이 세부 사항을 확대하여 설명해 주면 누군가가 대답 할 수 있도록 도와 줄 것입니다. – mdsumner

+0

글쎄, 대부분의 부분은 alphashape3d를 사용하고 다른 비트 조각들과 함께 놀면 내가 원하는 것에 가깝게 느낀다.내가 가지고있는 지오메트리에 대해 이해할만한 것을 얻을 때까지 수동으로 알파 팩터를 변경해야하기 때문에 약간의 두통입니다. 그러나 포인트 클라우드를 일부 분석하여 다소 최적화 할 수 있습니다. 특정 이상한 오류가있는 몇 가지 문제가 있지만 대부분 형식을 지정하는 것 같습니다. 감사. – DWAHL

관련 문제