JMP 또는 JSL에서 보로노이 다이어그램 생성안녕하세요. JMP 환경에서 Voronoi 다이어그램을 만들고 싶습니다. 동일한 평면(Z) 내에 있는 점 좌표(X 및 Y) 세트가 있습니다. 단위 면적당 점의 밀도를 표시하는 방법을 알고 싶습니다. 보로노이 다이어그램은 이를 수행하는 한 가지 방법이 될 것입니다. 그것은 그 점 P1과 다음 점 Pn 사이의 유클리드 거리의 중간으로 정의되는 점 주변의 경계를 보여줍니다.
다음은 Wikipedia의 정의입니다. https://en.wikipedia.org/wiki/Voronoi_diagram
다음은 생성 지침입니다. MATLAB에서 이러한 유형의 다이어그램
Re: JMP 또는 JSL에서 Voronoi 다이어그램 만들기안녕,
우선 Voronoi의 철자를 틀리게 한 것에 대해 유감스럽게 생각합니다. 어떤 질문에 답하려고 하는지 잘 모르겠습니다. 150mm 반경의 원형 그림이 주어지면 웨이퍼 맵에서 밀도 또는 클러스터링 패턴을 찾고 있다고 생각합니다. 반도체 제조 데이터에 대한 경험이 있습니다.
JMP에는 많은 클러스터링 방법이 있으며 JMP12는 패턴 유사성을 기반으로 웨이퍼를 클러스터링할 수 있는 방법을 포함하여 여러 공간 패턴 방법을 제공합니다.아래 스크립트는 결함 밀도가 다른 125개 웨이퍼를 나타내는 JMP 샘플 데이터 테이블을 열고 웨이퍼를 패턴별로 분류/클러스터링합니다. 1 웨이퍼로도 가능합니다.
Names Default to Here(1);
dt = Open("$sample_data/Wafer Stacked.jmp");
dt << run script( "Spatial Cluster of Defects");
spWin = Window("Wafer Stacked - Hierarchical Cluster of Defects");
spClust = (spWin<< child)<<CHILD></CHILD>
메쉬 방법이 있는 opengl을 사용하여 3D 지형을 생성하는 방법에 대해 더 많이 배우려고 했기 때문에 이 작업을 수행했습니다. 그러나 나는 아직 그들에 대해 충분히 알지 못합니다. 공간 기하학이 제 관심사이기 때문에 듀얼 보로노이 그래프 작성을 다루기로 결정했습니다. 내 첫 번째 답장에서 언급했듯이 JMP 삼각형화(도움말 > 개체 아래의 스크립팅 색인에서 찾을 수 있음)는 Delaunay 훈련화를 생성하고 삼각형, 점 및 모서리를 가져오기 위한 메시지도 제공합니다.
Voronoi 이중 그래프를 계산하기 위해 스크립트를 확장했습니다. 나는 조밀한 지점에 대한 성능을 테스트하지 않았습니다. 대체 알고리즘과 근사치를 사용하는 많은 웹 사이트는 성능을 다룹니다. Craig Hales가 제공한 링크에 보고된 의사 코드를 사용하여 스크립트를 만들었습니다. 단일 예제 데이터 테이블에서만 테스트했습니다. 그런데 링크에서 그림을 복사하여 XY 그래프의 배경으로 사용하고 쥐덫을 사용하여 정점을 클릭했을 때 좌표를 캡처하여 데이터 테이블이 생성되었습니다. 가장 왼쪽 지점이 원본보다 조금 더 왼쪽에 있음을 알 수 있습니다. [예 JMP는 작업을 처리하기 위한 다양한 도구를 제공합니다.]새 스크립트가 작업을 수행하는 것 같습니다.응용 프로그램이 준비되지 않았으며 원형 웨이퍼가 아닌 정사각형 프레임을 사용하며 포인트를 표준화합니다(X와 Y의 +/-3 중앙에 위치).
스크립트에 파일이 포함되어 있습니다. LCombin.jsl ("JMP 스크립팅 언어의 JSL Companion Applications, 2nd Ed."의 스크립트 중 하나). 첨부되어 있습니다. 첨부된 스크립트의 경로를 저장한 디렉토리로 변경해야 합니다. 스크립트로 생성된 사진을 첨부했습니다. JMP 12, 13 및 14에서 테스트되었습니다.
보로노이 그래프나 클러스터로 하고 싶은 일처럼 작업 범위를 좁힐 수 있다면 도움이 될 것입니다.
내 목록에 높지는 않지만 opengl 메쉬 방법이 Voronoi 그래프를 생성할 수 있다고 믿습니다. 나는 어떤 것을 결정적으로 말하기 전에 더 많은 학습/탐색을 해야 합니다.
voronoi diagram with JMPJMP를 사용한 보로노이 다이어그램
Re: JMP 또는 JSL에서 Voronoi 다이어그램 만들기안녕하세요 gzmorgan0,
이것은 좋은 시작입니다! 도와주셔서 감사합니다.
이전에 비모수 밀도 플롯을 가지고 놀았지만 이것이 내가 필요한 결과를 제공하는지 확신할 수 없었습니다. 귀하의 게시물은 비평형 밀도 플롯을 수학적으로 설명하는 데 적합한 문서를 찾는 데 도움이 되었습니다. 아래에서 그 정의를 공유하고 있습니다. 나는 그것에 대해 읽었지만, 나는 여전히 걱정하고 있다.
Nonpar Density estimates a smooth nonparametric bivariate surface that describes the density
of data points. The plot adds a set of contour lines showing the density (Figure 5.16). The
contour lines are quantile contours in 5% intervals. This means that about 5% of the points
generated from the estimated nonparametric distribution are below the lowest contour, 10%
are below the next contour, and so on. The highest contour has about 95% of the points below
it.
등고선은 훌륭하지만 포인트를 동일한 분위로 분할할 뿐입니다. 내 영역 내에서 포인트가 얼마나 고르게 퍼져 있는지 보여주지는 않습니다. 제 요점을 전달하기 위해 데이터 포인트 배열의 예를 첨부했습니다. 이 등고선은 각각 동일한 양을 나타냅니다. 표면적 ?
몇 가지 후속 질문:
(1) 평이하지 않은 등고선 데이터를 가져와 단위 면적당 밀도를 표시하도록 조작하는 방법이 있습니까? 아마도 이것이 분위수 밀도 내의 빨간색 삼각형 메뉴에서 "밀도 그리드 저장" 옵션이 수행하는 작업일 것입니다.
(2) 다른 색상 테마를 사용할 수 있습니까? 나는 스펙트럼 색상 테마에 대해 강력하게 반대합니다. 그러나, 그 색상 테마() 기능이 작동하지 않습니다 비표준 밀도() JMP13에서.
(3) 실제로 보로노이 다이어그램을 표시하기 위해 들로네 삼각분할을 확장하도록 도와주시겠습니까? 나는 수학 자체가 편하지 않다.
Re: JMP 또는 JSL에서 Voronoi 다이어그램 만들기좋은 예!
여기에서 토론: https://stackoverflow.com/questions/85275/how-do-i-derive-a-voronoi-diagram-given-its-point-set-and-its-delaunay-triangula
Re: JMP 또는 JSL에서 Voronoi 다이어그램 만들기저는 이 분야의 전문가는 아니지만 JMP 삼각화는 Voroni의 "이중"인 Delaunay 삼각화의 구현이라는 것을 읽었습니다. "이중" 플롯을 계산하기 위한 알고리즘이 없습니다.
여러 Voroni 교육 문서에서 찾을 수 있는 포인트 세트를 에뮬레이트하기 위해 만든 voroni.jmp라는 샘플 데이터 세트가 첨부되어 있습니다(참조 http://cgl.uni-jena.de/pub/Workshops/WebHome/cgl12new.pdf ).첨부된 PNG 파일은 Voroni 플롯과 Delaunay 테셀레이션(삼각화)의 "이중" 관계를 보여줍니다.이 첨부된 jmp 파일에는 여러 데이터 테이블 스크립트가 첨부되어 있습니다. JMP 12,13 및 14에서 테스트했습니다.
그래프를 생성하는 각 테이블 스크립트를 실행합니다. 단위 면적당 밀도에 관심이 있기 때문에 Density of Y By X 그래프를 확인한 다음 역 빨간색 삼각형 메뉴를 사용하여 밀도의 3D 보기에 대한 Mesh Plot을 선택하십시오. 이러한 보기는 요구 사항을 충족하거나 밀도와 관련하여 더 많은 정보를 제공할 수 있습니다.
밀도 플롯이 목적에 부합하지 않고 여전히 Voroni 플롯에 관심이 있는 경우 deldir R 패키지에서 가져올 수 있습니다. https://flowingdata.com/2016/04/12/voronoi-diagram-and-delaunay-triangulation-in-r/ JMP에는 최근접 이웃 및 거리 알고리즘이 있으므로 누군가가 이 블로그에 Voroni 다이어그램을 만드는 데 필요한 단계(또는 JSL)를 제공할 것입니다.
귀하의 질문은 제가 JMP 삼각화 방법을 테스트하고 X 및 Y 좌표가 표준화된 후 "고전적인" 결과를 생성하는지 확인하도록 동기를 부여했습니다. [ 감사해요! ] 첨부된 JSL에는 삼각형을 그리는 단계가 있습니다.
