Creazione di diagrammi Voronoi in JMP o JSLSalve a tutti, vorrei creare un diagramma di Voronoi all'interno dell'ambiente JMP. Ho un insieme di coordinate di punti (X e Y) che si trovano all'interno dello stesso piano (Z). Vorrei un modo per mostrare la densità dei punti per unità di area. Un diagramma di Voronoi sarebbe un modo per ottenere questo risultato. Mostra il confine attorno al punto che è definito dalla metà della distanza euclidea tra quel punto P1 e il punto successivo Pn.
Ecco la definizione di Wikipedia: https://en.wikipedia.org/wiki/Voronoi_diagram
Ecco le istruzioni per la creazione questo tipo di diagramma in MATLAB
Oggetto: Creazione di diagrammi Voronoi in JMP o JSLCIAO,
Prima di tutto scusa per l'errore di ortografia di Voronoi, vecchi occhi. Non sono sicuro a quale domanda stai cercando di rispondere. Penso che potresti cercare uno schema di densità o raggruppamento su una mappa di wafer, data l'immagine circolare con un raggio di 150 mm. Ho esperienza con i dati di produzione di semiconduttori.
JMP dispone di molti metodi di clustering e poiché JMP12 fornisce diversi metodi di modelli spaziali, incluso uno che può raggruppare i wafer in base a somiglianze di modelli.Lo script seguente apre una tabella di dati di esempio JMP che rappresenta 125 wafer con densità di difetti diversa e classifica/raggruppa i wafer in base a modelli. Può farlo anche per 1 wafer.
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>
Ho affrontato questo compito perché ho cercato di saperne di più sulla generazione di terreni 3D utilizzando opengl che ha metodi mesh. Tuttavia, non ne so ancora abbastanza. Ho deciso di affrontare il craeteing del doppio grafico di Voronoi perché la geometria spaziale è un mio interesse. Come affermato nella mia prima risposta, JMP Triangularization (può essere trovato in Help > Scripting Index sotto oggetti) crea la traingularizzazione Delaunay e fornisce anche messaggi da ottenere, triangoli, punti e bordi.
Ho ampliato il mio script per calcolare il doppio grafico di Voronoi. Non ho testato le prestazioni per i punti densi; molti dei siti Web con algoritmi e approssimazioni alternativi si occupano delle prestazioni. Utilizzando lo pseudo codice riportato al link fornito da Craig Hales, ho creato uno script. L'ho testato solo sulla singola tabella di dati di esempio. A proposito, quella tabella di dati è stata generata copiando l'immagine dal collegamento, usandola come sfondo in un grafico XY e usando la trappola per topi per catturare le coordinate mentre cliccavo sui vertici. Noterai che il punto più a sinistra è leggermente più a sinistra rispetto all'originale. [sì, JMP offre numerosi strumenti per affrontare un'attività.]La nuova sceneggiatura sembra fare il lavoro.Non è pronto per l'applicazione, utilizza una cornice quadrata, non un wafer circolare, e standardizza i punti (quindi centrati tra +/-3 in X e Y).
Lo script include un file LCombine.jsl (uno degli script da "JSL Companion Applications of the JMP Scripting Language, 2nd Ed."). È allegato. Dovrai modificare il percorso nello script allegato nella directory in cui l'hai salvato. Ho allegato l'immagine generata dalla sceneggiatura. È stato testato in JMP 12, 13 e 14.
Se riesci a restringere l'attività, ad esempio cosa vuoi fare con il grafico o i cluster di Voronoi, sarebbe utile.
Non è in cima alla mia lista, ma credo che i metodi mesh opengl potrebbero essere in grado di creare un grafico Voronoi. Ho bisogno di imparare/esplorare di più prima di dire qualcosa in modo definitivo.
voronoi diagram with JMPvoronoi diagram with JMPdiagramma di Voronoi con JMP
Oggetto: Creazione di diagrammi Voronoi in JMP o JSLCiao gzmorgan0,
Questo è un ottimo inizio! Grazie per l'aiuto.
In precedenza ho giocato con i grafici di densità non parametrici, ma non ero sicuro che questo fornisse i risultati di cui avevo bisogno. Il tuo post mi ha aiutato a trovare la documentazione giusta per spiegare matematicamente i grafici di densità non par. Condivido questa definizione di seguito. Ora che ne ho letto, sono ancora preoccupato.
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.
I contorni sono belli, ma dividono solo i punti in quantili uguali. Non mostrano necessariamente quanto siano distribuiti uniformemente i punti all'interno della mia area. Ho allegato un esempio di un array di punti dati per cercare di trasmettere il mio punto. Questi contorni rappresentano ciascuno una quantità uguale di superficie ?
Alcune domande di follow-up:
(1) C'è un modo per prendere i dati di contorno non par e manipolarli per mostrare la densità per unità di area? Forse questo è ciò che fa l'opzione "salva griglia densità" dal menu del triangolo rosso all'interno della densità quantile.
(2) Posso utilizzare un tema di colore diverso? Sono fortemente contrario al tema del colore dello spettro. comunque, il tema colore() la funzione non funziona all'interno densità non pari() su JMP13.
(3) Puoi aiutarmi ad estendere la triangolazione di Delaunay per mostrare effettivamente il diagramma di Voronoi? Io stesso non sono a mio agio con la matematica.
Oggetto: Creazione di diagrammi Voronoi in JMP o JSLBell'esempio!
e discussione qui: https://stackoverflow.com/questions/85275/how-do-i-derive-a-voronoi-diagram-given-its-point-set-and-its-delaunay-triangula
Oggetto: Creazione di diagrammi Voronoi in JMP o JSLNon sono un esperto in materia, tuttavia, ho ricordato di aver letto che la triangolarizzazione di JMP è un'implementazione della triangolarizzazione di Delaunay che è il "dual" di Voroni. Non ho gli algoritmi per calcolare la trama "doppio".
In allegato c'è un set di dati di esempio chiamato voroni.jmp che ho creato per emulare un insieme di punti che si trovano in diversi documenti di formazione Voroni (vedi http://cgl.uni-jena.de/pub/Workshops/WebHome/cgl12new.pdf ).Il file PNG allegato mostra la relazione "duale" tra i grafici di Voroni e la tassellazione di Delaunay (triangolarizzazione).Questo file jmp allegato ha diversi script di tabelle di dati allegati. Li ho testati in JMP 12,13 e 14.
Esegui ciascuno degli script di tabella che creano grafici. Poiché sei interessato alla densità per unità di area, guarda il grafico Densità di Y per X, quindi utilizza il menu del triangolo rosso invertito per selezionare un grafico a maglie per una vista 3D della densità. Queste visualizzazioni potrebbero soddisfare le tue esigenze o fornire maggiori informazioni sulla densità.
Se i grafici di densità non servono al tuo scopo e sei ancora interessato ai grafici di Voroni, puoi ottenerli dal pacchetto deldir R: vedi https://flowingdata.com/2016/04/12/voronoi-diagram-and-delaunay-triangulation-in-r/ Dal momento che JMP ha algoritmi del vicino più vicino e della distanza, forse qualcuno fornirà a questo blog i passaggi necessari (o JSL) per creare diagrammi di Voroni.
La tua domanda mi ha motivato a testare il metodo di triangolazione JMP e verificare che produca i risultati "classici" ... dopo che le coordinate X e Y sono state standardizzate. [ Grazie! ] Il JSL allegato ha passaggi per disegnare i triangoli.
