Calculate total length of edges in select Voronoi diagramCropping a Voronoi diagramImplementing an algorithm...

Are Wave equations equivalent to Maxwell equations in free space?

How to chmod files that have a specific set of permissions

3.5% Interest Student Loan or use all of my savings on Tuition?

Giving a talk in my old university, how prominently should I tell students my salary?

Are mobile cities justifiable in sci-fi settings?

Should I use HTTPS on a domain that will only be used for redirection?

Was it really inappropriate to write a pull request for the company I interviewed with?

Why can't we use freedom of speech and expression to incite people to rebel against government in India?

What does it mean when I add a new variable to my linear model and the R^2 stays the same?

Can you run a ground wire from stove directly to ground pole in the ground

How to write a chaotic neutral protagonist and prevent my readers from thinking they are evil?

“I had a flat in the centre of town, but I didn’t like living there, so …”

Are small insurances worth it

Forcing Mathematica's Integrate to give more general answers

How to make sure I'm assertive enough in contact with subordinates?

Should we avoid writing fiction about historical events without extensive research?

Under what conditions would I NOT add my Proficiency Bonus to a Spell Attack Roll (or Saving Throw DC)?

What is the meaning of option 'by' in TikZ Intersections

Named nets not connected in Eagle board design

ESPP--any reason not to go all in?

Dukha vs legitimate need

Who is at the mall?

An Undercover Army

I can't die. Who am I?



Calculate total length of edges in select Voronoi diagram


Cropping a Voronoi diagramImplementing an algorithm for finding the largest circle that contains a single point in a set (and no other point)Bounded Voronoi DiagramVoronoi diagram for line segmentsVoronoiMesh without edgesHow to draw this 3D Voronoi Diagram?Color code Voronoi cell areas depending on number of verticesHyperbolic Voronoi diagram for the Poincaré model, using RegionPlotHow can I get the vertices of each polygon of a Voronoi diagram?Calculate of total length of edges in Voronoi diagram













3












$begingroup$


I want to calculate the total length of edges in a Voronoi diagram like this
enter image description here



I can calculate this with



lengths = RegionMeasure /@ MeshPrimitives[VoronoiMesh[pts], 1];



Total[lengths]



but, I want to eliminate from the calculation the diagrams touching the border of the image. I can select this diagrams like here



enter image description here



and I can keep with the orange diagrams



enter image description here



but I don't know how to calculate the total length of the edges of the last graphic. Any suggestions?










share|improve this question









$endgroup$








  • 1




    $begingroup$
    Can you add the code to select the inner cells and the definition of pts?
    $endgroup$
    – MarcoB
    52 mins ago










  • $begingroup$
    The distribution of points pts comes from a picture but could be random numbers. For example: SeedRandom[332] pts = RandomReal[1, {100, 2}]; xy = VoronoiMesh[pts, {{0, 1}, {0, 1}}]; i2 = MeshCellIndex[xy, {2, "Interior"}] ; HighlightMesh[xy, Style[i2, LightOrange]]
    $endgroup$
    – Mati Ger
    12 mins ago
















3












$begingroup$


I want to calculate the total length of edges in a Voronoi diagram like this
enter image description here



I can calculate this with



lengths = RegionMeasure /@ MeshPrimitives[VoronoiMesh[pts], 1];



Total[lengths]



but, I want to eliminate from the calculation the diagrams touching the border of the image. I can select this diagrams like here



enter image description here



and I can keep with the orange diagrams



enter image description here



but I don't know how to calculate the total length of the edges of the last graphic. Any suggestions?










share|improve this question









$endgroup$








  • 1




    $begingroup$
    Can you add the code to select the inner cells and the definition of pts?
    $endgroup$
    – MarcoB
    52 mins ago










  • $begingroup$
    The distribution of points pts comes from a picture but could be random numbers. For example: SeedRandom[332] pts = RandomReal[1, {100, 2}]; xy = VoronoiMesh[pts, {{0, 1}, {0, 1}}]; i2 = MeshCellIndex[xy, {2, "Interior"}] ; HighlightMesh[xy, Style[i2, LightOrange]]
    $endgroup$
    – Mati Ger
    12 mins ago














3












3








3





$begingroup$


I want to calculate the total length of edges in a Voronoi diagram like this
enter image description here



I can calculate this with



lengths = RegionMeasure /@ MeshPrimitives[VoronoiMesh[pts], 1];



Total[lengths]



but, I want to eliminate from the calculation the diagrams touching the border of the image. I can select this diagrams like here



enter image description here



and I can keep with the orange diagrams



enter image description here



but I don't know how to calculate the total length of the edges of the last graphic. Any suggestions?










share|improve this question









$endgroup$




I want to calculate the total length of edges in a Voronoi diagram like this
enter image description here



I can calculate this with



lengths = RegionMeasure /@ MeshPrimitives[VoronoiMesh[pts], 1];



Total[lengths]



but, I want to eliminate from the calculation the diagrams touching the border of the image. I can select this diagrams like here



enter image description here



and I can keep with the orange diagrams



enter image description here



but I don't know how to calculate the total length of the edges of the last graphic. Any suggestions?







computational-geometry






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked 57 mins ago









Mati GerMati Ger

483




483








  • 1




    $begingroup$
    Can you add the code to select the inner cells and the definition of pts?
    $endgroup$
    – MarcoB
    52 mins ago










  • $begingroup$
    The distribution of points pts comes from a picture but could be random numbers. For example: SeedRandom[332] pts = RandomReal[1, {100, 2}]; xy = VoronoiMesh[pts, {{0, 1}, {0, 1}}]; i2 = MeshCellIndex[xy, {2, "Interior"}] ; HighlightMesh[xy, Style[i2, LightOrange]]
    $endgroup$
    – Mati Ger
    12 mins ago














  • 1




    $begingroup$
    Can you add the code to select the inner cells and the definition of pts?
    $endgroup$
    – MarcoB
    52 mins ago










  • $begingroup$
    The distribution of points pts comes from a picture but could be random numbers. For example: SeedRandom[332] pts = RandomReal[1, {100, 2}]; xy = VoronoiMesh[pts, {{0, 1}, {0, 1}}]; i2 = MeshCellIndex[xy, {2, "Interior"}] ; HighlightMesh[xy, Style[i2, LightOrange]]
    $endgroup$
    – Mati Ger
    12 mins ago








1




1




$begingroup$
Can you add the code to select the inner cells and the definition of pts?
$endgroup$
– MarcoB
52 mins ago




$begingroup$
Can you add the code to select the inner cells and the definition of pts?
$endgroup$
– MarcoB
52 mins ago












$begingroup$
The distribution of points pts comes from a picture but could be random numbers. For example: SeedRandom[332] pts = RandomReal[1, {100, 2}]; xy = VoronoiMesh[pts, {{0, 1}, {0, 1}}]; i2 = MeshCellIndex[xy, {2, "Interior"}] ; HighlightMesh[xy, Style[i2, LightOrange]]
$endgroup$
– Mati Ger
12 mins ago




$begingroup$
The distribution of points pts comes from a picture but could be random numbers. For example: SeedRandom[332] pts = RandomReal[1, {100, 2}]; xy = VoronoiMesh[pts, {{0, 1}, {0, 1}}]; i2 = MeshCellIndex[xy, {2, "Interior"}] ; HighlightMesh[xy, Style[i2, LightOrange]]
$endgroup$
– Mati Ger
12 mins ago










1 Answer
1






active

oldest

votes


















6












$begingroup$

SeedRandom[1]
pts = RandomReal[1, {100, 2}];
vm = VoronoiMesh[pts];


"Interior"



HighlightMesh[vm, Style[MeshCellIndex[vm, {1, "Interior"}], Red]]


enter image description here



Total[ArcLength /@ MeshPrimitives[vm , {1, "Interior"}]]



19.4739




Alternatively,



RegionMeasure[MeshRegion[MeshCoordinates[vm], MeshCells[vm, {1, "Interior"}]]]



19.4739




"Boundary"



HighlightMesh[vm, Style[MeshCellIndex[vm, {1, "Boundary"}], Red]]


enter image description here



Total[ArcLength /@ MeshPrimitives[vm, {1, "Boundary"}]]



5.92015




"Frontier"



HighlightMesh[vm, Style[MeshCellIndex[vm, {1, "Frontier"}], Red]]


enter image description here



Total[ArcLength /@ MeshPrimitives[vm, {1, "Frontier"}]]



5.357575




Total length of all lines:



Total[vm["EdgeLengths"]]



30.75167




Total[ArcLength /@ MeshPrimitives[vm , 1]]



30.751672460568727







share|improve this answer











$endgroup$













  • $begingroup$
    So long as none of the cells adjacent to the boundary aren't in fact the full Voronoi cell. This would only happen in contrived cases though.
    $endgroup$
    – Chip Hurst
    30 mins ago










  • $begingroup$
    @ChipHurst, good point.
    $endgroup$
    – kglr
    28 mins ago










  • $begingroup$
    I am impressed by the speed and clarity in your response, kglr. I am very grateful with you. Thank you.
    $endgroup$
    – Mati Ger
    4 mins ago











Your Answer





StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
});
});
}, "mathjax-editing");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "387"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f192834%2fcalculate-total-length-of-edges-in-select-voronoi-diagram%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









6












$begingroup$

SeedRandom[1]
pts = RandomReal[1, {100, 2}];
vm = VoronoiMesh[pts];


"Interior"



HighlightMesh[vm, Style[MeshCellIndex[vm, {1, "Interior"}], Red]]


enter image description here



Total[ArcLength /@ MeshPrimitives[vm , {1, "Interior"}]]



19.4739




Alternatively,



RegionMeasure[MeshRegion[MeshCoordinates[vm], MeshCells[vm, {1, "Interior"}]]]



19.4739




"Boundary"



HighlightMesh[vm, Style[MeshCellIndex[vm, {1, "Boundary"}], Red]]


enter image description here



Total[ArcLength /@ MeshPrimitives[vm, {1, "Boundary"}]]



5.92015




"Frontier"



HighlightMesh[vm, Style[MeshCellIndex[vm, {1, "Frontier"}], Red]]


enter image description here



Total[ArcLength /@ MeshPrimitives[vm, {1, "Frontier"}]]



5.357575




Total length of all lines:



Total[vm["EdgeLengths"]]



30.75167




Total[ArcLength /@ MeshPrimitives[vm , 1]]



30.751672460568727







share|improve this answer











$endgroup$













  • $begingroup$
    So long as none of the cells adjacent to the boundary aren't in fact the full Voronoi cell. This would only happen in contrived cases though.
    $endgroup$
    – Chip Hurst
    30 mins ago










  • $begingroup$
    @ChipHurst, good point.
    $endgroup$
    – kglr
    28 mins ago










  • $begingroup$
    I am impressed by the speed and clarity in your response, kglr. I am very grateful with you. Thank you.
    $endgroup$
    – Mati Ger
    4 mins ago
















6












$begingroup$

SeedRandom[1]
pts = RandomReal[1, {100, 2}];
vm = VoronoiMesh[pts];


"Interior"



HighlightMesh[vm, Style[MeshCellIndex[vm, {1, "Interior"}], Red]]


enter image description here



Total[ArcLength /@ MeshPrimitives[vm , {1, "Interior"}]]



19.4739




Alternatively,



RegionMeasure[MeshRegion[MeshCoordinates[vm], MeshCells[vm, {1, "Interior"}]]]



19.4739




"Boundary"



HighlightMesh[vm, Style[MeshCellIndex[vm, {1, "Boundary"}], Red]]


enter image description here



Total[ArcLength /@ MeshPrimitives[vm, {1, "Boundary"}]]



5.92015




"Frontier"



HighlightMesh[vm, Style[MeshCellIndex[vm, {1, "Frontier"}], Red]]


enter image description here



Total[ArcLength /@ MeshPrimitives[vm, {1, "Frontier"}]]



5.357575




Total length of all lines:



Total[vm["EdgeLengths"]]



30.75167




Total[ArcLength /@ MeshPrimitives[vm , 1]]



30.751672460568727







share|improve this answer











$endgroup$













  • $begingroup$
    So long as none of the cells adjacent to the boundary aren't in fact the full Voronoi cell. This would only happen in contrived cases though.
    $endgroup$
    – Chip Hurst
    30 mins ago










  • $begingroup$
    @ChipHurst, good point.
    $endgroup$
    – kglr
    28 mins ago










  • $begingroup$
    I am impressed by the speed and clarity in your response, kglr. I am very grateful with you. Thank you.
    $endgroup$
    – Mati Ger
    4 mins ago














6












6








6





$begingroup$

SeedRandom[1]
pts = RandomReal[1, {100, 2}];
vm = VoronoiMesh[pts];


"Interior"



HighlightMesh[vm, Style[MeshCellIndex[vm, {1, "Interior"}], Red]]


enter image description here



Total[ArcLength /@ MeshPrimitives[vm , {1, "Interior"}]]



19.4739




Alternatively,



RegionMeasure[MeshRegion[MeshCoordinates[vm], MeshCells[vm, {1, "Interior"}]]]



19.4739




"Boundary"



HighlightMesh[vm, Style[MeshCellIndex[vm, {1, "Boundary"}], Red]]


enter image description here



Total[ArcLength /@ MeshPrimitives[vm, {1, "Boundary"}]]



5.92015




"Frontier"



HighlightMesh[vm, Style[MeshCellIndex[vm, {1, "Frontier"}], Red]]


enter image description here



Total[ArcLength /@ MeshPrimitives[vm, {1, "Frontier"}]]



5.357575




Total length of all lines:



Total[vm["EdgeLengths"]]



30.75167




Total[ArcLength /@ MeshPrimitives[vm , 1]]



30.751672460568727







share|improve this answer











$endgroup$



SeedRandom[1]
pts = RandomReal[1, {100, 2}];
vm = VoronoiMesh[pts];


"Interior"



HighlightMesh[vm, Style[MeshCellIndex[vm, {1, "Interior"}], Red]]


enter image description here



Total[ArcLength /@ MeshPrimitives[vm , {1, "Interior"}]]



19.4739




Alternatively,



RegionMeasure[MeshRegion[MeshCoordinates[vm], MeshCells[vm, {1, "Interior"}]]]



19.4739




"Boundary"



HighlightMesh[vm, Style[MeshCellIndex[vm, {1, "Boundary"}], Red]]


enter image description here



Total[ArcLength /@ MeshPrimitives[vm, {1, "Boundary"}]]



5.92015




"Frontier"



HighlightMesh[vm, Style[MeshCellIndex[vm, {1, "Frontier"}], Red]]


enter image description here



Total[ArcLength /@ MeshPrimitives[vm, {1, "Frontier"}]]



5.357575




Total length of all lines:



Total[vm["EdgeLengths"]]



30.75167




Total[ArcLength /@ MeshPrimitives[vm , 1]]



30.751672460568727








share|improve this answer














share|improve this answer



share|improve this answer








edited 13 mins ago

























answered 45 mins ago









kglrkglr

187k10203421




187k10203421












  • $begingroup$
    So long as none of the cells adjacent to the boundary aren't in fact the full Voronoi cell. This would only happen in contrived cases though.
    $endgroup$
    – Chip Hurst
    30 mins ago










  • $begingroup$
    @ChipHurst, good point.
    $endgroup$
    – kglr
    28 mins ago










  • $begingroup$
    I am impressed by the speed and clarity in your response, kglr. I am very grateful with you. Thank you.
    $endgroup$
    – Mati Ger
    4 mins ago


















  • $begingroup$
    So long as none of the cells adjacent to the boundary aren't in fact the full Voronoi cell. This would only happen in contrived cases though.
    $endgroup$
    – Chip Hurst
    30 mins ago










  • $begingroup$
    @ChipHurst, good point.
    $endgroup$
    – kglr
    28 mins ago










  • $begingroup$
    I am impressed by the speed and clarity in your response, kglr. I am very grateful with you. Thank you.
    $endgroup$
    – Mati Ger
    4 mins ago
















$begingroup$
So long as none of the cells adjacent to the boundary aren't in fact the full Voronoi cell. This would only happen in contrived cases though.
$endgroup$
– Chip Hurst
30 mins ago




$begingroup$
So long as none of the cells adjacent to the boundary aren't in fact the full Voronoi cell. This would only happen in contrived cases though.
$endgroup$
– Chip Hurst
30 mins ago












$begingroup$
@ChipHurst, good point.
$endgroup$
– kglr
28 mins ago




$begingroup$
@ChipHurst, good point.
$endgroup$
– kglr
28 mins ago












$begingroup$
I am impressed by the speed and clarity in your response, kglr. I am very grateful with you. Thank you.
$endgroup$
– Mati Ger
4 mins ago




$begingroup$
I am impressed by the speed and clarity in your response, kglr. I am very grateful with you. Thank you.
$endgroup$
– Mati Ger
4 mins ago


















draft saved

draft discarded




















































Thanks for contributing an answer to Mathematica Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


Use MathJax to format equations. MathJax reference.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f192834%2fcalculate-total-length-of-edges-in-select-voronoi-diagram%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Szabolcs (Ungheria) Altri progetti | Menu di navigazione48°10′14.56″N 21°29′33.14″E /...

Discografia di Klaus Schulze Indice Album in studio | Album dal vivo | Singoli | Antologie | Colonne...

How to make inet_server_addr() return localhost in spite of ::1/128RETURN NEXT in Postgres FunctionConnect to...