Polygons crash kernel?Input[] inside DynamicModule causing a kernel crashGetting kernel crash from matrix operationsKernel crash when evaluating NDSolveValueCutting polygonsNIntegrate InterpolatingFunction Kernel CrashDistanceMatrix on GeoPositions causes kernel crashKernel crash with RandomIntegerFindShortestTour causes kernel crashKernel crash when calling BlockKernel crash when simplifying piecewise function

Why is the Vasa Museum in Stockholm so Popular?

Why does the friction act on the inward direction when a car makes a turn on a level road?

Why did the United States not resort to nuclear weapons in Vietnam?

How to design an effective polearm-bow hybrid?

Does a bard know when a character uses their Bardic Inspiration?

Is an "are" omitted in this sentence

Astable 555 circuit not oscillating

How does Rust's 128-bit integer `i128` work on a 64-bit system?

Why adjustbox needs a tweak of raise=-0.3ex with enumitem?

How long should I wait to plug in my refrigerator after unplugging it?

Is there a general term for the items in a directory?

Have you been refused entry into the Federal Republic of Germany?

Can't understand an ACT practice problem: Triangle appears to be isosceles, why isn't the answer 7.3~ here?

Phase portrait of a system of differential equations

How to handle many times series?

Any information about the photo with Army Uniforms

How to win an all out war against ants

A wiild aanimal, a cardinal direction, or a place by the water

A verb for when some rights are not violated?

Why have both: BJT and FET transistors on IC output?

Representation of the concatenation at the type level

Does the problem of P vs NP come under the category of Operational Research?

Different answers of calculations in LuaLaTeX on local computer, lua compiler and on overleaf

What is the reason behind water not falling from a bucket at the top of loop?



Polygons crash kernel?


Input[] inside DynamicModule causing a kernel crashGetting kernel crash from matrix operationsKernel crash when evaluating NDSolveValueCutting polygonsNIntegrate InterpolatingFunction Kernel CrashDistanceMatrix on GeoPositions causes kernel crashKernel crash with RandomIntegerFindShortestTour causes kernel crashKernel crash when calling BlockKernel crash when simplifying piecewise function






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








3












$begingroup$


Having some problems Generating random Polygons and then filtering by Area, specifically filter out degenerated polygons with undefined Area is crashing the kernel in 12.0.



randomThirdPoints[n_] := Table[1/3 RandomChoice[0,1,2,3],RandomChoice[0,1,2,3],n] 


Here are some random 4-gons in the unit square:



randomPolygons4 := Table[Polygon[randomThirdPoints[4]], 100]; 


This step is consistently crashing kernel:



randomPolygons4 // Map[Area]


similarly if using Select, AssociationMap and also using RegionQ instead of Area.



Are there some safer options? Ref Page doesn't seem to help.










share|improve this question











$endgroup$













  • $begingroup$
    It's not the mapping that's the problem, it's just that the Area function crashes for some polygons. You SeedRandom when you experiment so that the problem appears consistently. For example, using RandomSeed[1], you'll see that randomPolygons4[[39]] // Area crashes the kernel. The polygon looks like this: Polygon[1/3, 1/3, 0, 0, 1/3, 1/3, 0, 2/3] This seems like a problem for WRI.
    $endgroup$
    – C. E.
    8 hours ago











  • $begingroup$
    C.E. Thanks for replicating. Yes I used Map to sample a cross-section. Will report to support. Any known workaround for randomly generated polygons?
    $endgroup$
    – alancalvitti
    8 hours ago










  • $begingroup$
    It would be better if you list polygons that crash the kernel and then ask "how can I find a workaround for these polygons?" It would make the question clearer and easier to answer.
    $endgroup$
    – C. E.
    7 hours ago











  • $begingroup$
    @C.E, I think you identified the issue, it seems confined to polygons with repeated points. Using safePointSets = Table[randomThirdPoints[4], 100] // Select[DuplicateFreeQ] and then safePointSets // Map[Polygon] // Map[Area] seems to work.
    $endgroup$
    – alancalvitti
    7 hours ago










  • $begingroup$
    ok, I undeleted my answer.
    $endgroup$
    – C. E.
    7 hours ago

















3












$begingroup$


Having some problems Generating random Polygons and then filtering by Area, specifically filter out degenerated polygons with undefined Area is crashing the kernel in 12.0.



randomThirdPoints[n_] := Table[1/3 RandomChoice[0,1,2,3],RandomChoice[0,1,2,3],n] 


Here are some random 4-gons in the unit square:



randomPolygons4 := Table[Polygon[randomThirdPoints[4]], 100]; 


This step is consistently crashing kernel:



randomPolygons4 // Map[Area]


similarly if using Select, AssociationMap and also using RegionQ instead of Area.



Are there some safer options? Ref Page doesn't seem to help.










share|improve this question











$endgroup$













  • $begingroup$
    It's not the mapping that's the problem, it's just that the Area function crashes for some polygons. You SeedRandom when you experiment so that the problem appears consistently. For example, using RandomSeed[1], you'll see that randomPolygons4[[39]] // Area crashes the kernel. The polygon looks like this: Polygon[1/3, 1/3, 0, 0, 1/3, 1/3, 0, 2/3] This seems like a problem for WRI.
    $endgroup$
    – C. E.
    8 hours ago











  • $begingroup$
    C.E. Thanks for replicating. Yes I used Map to sample a cross-section. Will report to support. Any known workaround for randomly generated polygons?
    $endgroup$
    – alancalvitti
    8 hours ago










  • $begingroup$
    It would be better if you list polygons that crash the kernel and then ask "how can I find a workaround for these polygons?" It would make the question clearer and easier to answer.
    $endgroup$
    – C. E.
    7 hours ago











  • $begingroup$
    @C.E, I think you identified the issue, it seems confined to polygons with repeated points. Using safePointSets = Table[randomThirdPoints[4], 100] // Select[DuplicateFreeQ] and then safePointSets // Map[Polygon] // Map[Area] seems to work.
    $endgroup$
    – alancalvitti
    7 hours ago










  • $begingroup$
    ok, I undeleted my answer.
    $endgroup$
    – C. E.
    7 hours ago













3












3








3


1



$begingroup$


Having some problems Generating random Polygons and then filtering by Area, specifically filter out degenerated polygons with undefined Area is crashing the kernel in 12.0.



randomThirdPoints[n_] := Table[1/3 RandomChoice[0,1,2,3],RandomChoice[0,1,2,3],n] 


Here are some random 4-gons in the unit square:



randomPolygons4 := Table[Polygon[randomThirdPoints[4]], 100]; 


This step is consistently crashing kernel:



randomPolygons4 // Map[Area]


similarly if using Select, AssociationMap and also using RegionQ instead of Area.



Are there some safer options? Ref Page doesn't seem to help.










share|improve this question











$endgroup$




Having some problems Generating random Polygons and then filtering by Area, specifically filter out degenerated polygons with undefined Area is crashing the kernel in 12.0.



randomThirdPoints[n_] := Table[1/3 RandomChoice[0,1,2,3],RandomChoice[0,1,2,3],n] 


Here are some random 4-gons in the unit square:



randomPolygons4 := Table[Polygon[randomThirdPoints[4]], 100]; 


This step is consistently crashing kernel:



randomPolygons4 // Map[Area]


similarly if using Select, AssociationMap and also using RegionQ instead of Area.



Are there some safer options? Ref Page doesn't seem to help.







graphics crash polygons






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 6 hours ago









Michael E2

157k13 gold badges215 silver badges510 bronze badges




157k13 gold badges215 silver badges510 bronze badges










asked 8 hours ago









alancalvittialancalvitti

8,2813 gold badges20 silver badges83 bronze badges




8,2813 gold badges20 silver badges83 bronze badges














  • $begingroup$
    It's not the mapping that's the problem, it's just that the Area function crashes for some polygons. You SeedRandom when you experiment so that the problem appears consistently. For example, using RandomSeed[1], you'll see that randomPolygons4[[39]] // Area crashes the kernel. The polygon looks like this: Polygon[1/3, 1/3, 0, 0, 1/3, 1/3, 0, 2/3] This seems like a problem for WRI.
    $endgroup$
    – C. E.
    8 hours ago











  • $begingroup$
    C.E. Thanks for replicating. Yes I used Map to sample a cross-section. Will report to support. Any known workaround for randomly generated polygons?
    $endgroup$
    – alancalvitti
    8 hours ago










  • $begingroup$
    It would be better if you list polygons that crash the kernel and then ask "how can I find a workaround for these polygons?" It would make the question clearer and easier to answer.
    $endgroup$
    – C. E.
    7 hours ago











  • $begingroup$
    @C.E, I think you identified the issue, it seems confined to polygons with repeated points. Using safePointSets = Table[randomThirdPoints[4], 100] // Select[DuplicateFreeQ] and then safePointSets // Map[Polygon] // Map[Area] seems to work.
    $endgroup$
    – alancalvitti
    7 hours ago










  • $begingroup$
    ok, I undeleted my answer.
    $endgroup$
    – C. E.
    7 hours ago
















  • $begingroup$
    It's not the mapping that's the problem, it's just that the Area function crashes for some polygons. You SeedRandom when you experiment so that the problem appears consistently. For example, using RandomSeed[1], you'll see that randomPolygons4[[39]] // Area crashes the kernel. The polygon looks like this: Polygon[1/3, 1/3, 0, 0, 1/3, 1/3, 0, 2/3] This seems like a problem for WRI.
    $endgroup$
    – C. E.
    8 hours ago











  • $begingroup$
    C.E. Thanks for replicating. Yes I used Map to sample a cross-section. Will report to support. Any known workaround for randomly generated polygons?
    $endgroup$
    – alancalvitti
    8 hours ago










  • $begingroup$
    It would be better if you list polygons that crash the kernel and then ask "how can I find a workaround for these polygons?" It would make the question clearer and easier to answer.
    $endgroup$
    – C. E.
    7 hours ago











  • $begingroup$
    @C.E, I think you identified the issue, it seems confined to polygons with repeated points. Using safePointSets = Table[randomThirdPoints[4], 100] // Select[DuplicateFreeQ] and then safePointSets // Map[Polygon] // Map[Area] seems to work.
    $endgroup$
    – alancalvitti
    7 hours ago










  • $begingroup$
    ok, I undeleted my answer.
    $endgroup$
    – C. E.
    7 hours ago















$begingroup$
It's not the mapping that's the problem, it's just that the Area function crashes for some polygons. You SeedRandom when you experiment so that the problem appears consistently. For example, using RandomSeed[1], you'll see that randomPolygons4[[39]] // Area crashes the kernel. The polygon looks like this: Polygon[1/3, 1/3, 0, 0, 1/3, 1/3, 0, 2/3] This seems like a problem for WRI.
$endgroup$
– C. E.
8 hours ago





$begingroup$
It's not the mapping that's the problem, it's just that the Area function crashes for some polygons. You SeedRandom when you experiment so that the problem appears consistently. For example, using RandomSeed[1], you'll see that randomPolygons4[[39]] // Area crashes the kernel. The polygon looks like this: Polygon[1/3, 1/3, 0, 0, 1/3, 1/3, 0, 2/3] This seems like a problem for WRI.
$endgroup$
– C. E.
8 hours ago













$begingroup$
C.E. Thanks for replicating. Yes I used Map to sample a cross-section. Will report to support. Any known workaround for randomly generated polygons?
$endgroup$
– alancalvitti
8 hours ago




$begingroup$
C.E. Thanks for replicating. Yes I used Map to sample a cross-section. Will report to support. Any known workaround for randomly generated polygons?
$endgroup$
– alancalvitti
8 hours ago












$begingroup$
It would be better if you list polygons that crash the kernel and then ask "how can I find a workaround for these polygons?" It would make the question clearer and easier to answer.
$endgroup$
– C. E.
7 hours ago





$begingroup$
It would be better if you list polygons that crash the kernel and then ask "how can I find a workaround for these polygons?" It would make the question clearer and easier to answer.
$endgroup$
– C. E.
7 hours ago













$begingroup$
@C.E, I think you identified the issue, it seems confined to polygons with repeated points. Using safePointSets = Table[randomThirdPoints[4], 100] // Select[DuplicateFreeQ] and then safePointSets // Map[Polygon] // Map[Area] seems to work.
$endgroup$
– alancalvitti
7 hours ago




$begingroup$
@C.E, I think you identified the issue, it seems confined to polygons with repeated points. Using safePointSets = Table[randomThirdPoints[4], 100] // Select[DuplicateFreeQ] and then safePointSets // Map[Polygon] // Map[Area] seems to work.
$endgroup$
– alancalvitti
7 hours ago












$begingroup$
ok, I undeleted my answer.
$endgroup$
– C. E.
7 hours ago




$begingroup$
ok, I undeleted my answer.
$endgroup$
– C. E.
7 hours ago










3 Answers
3






active

oldest

votes


















2












$begingroup$

One workaround for polygons with 4 different points:



Map[Area[DiscretizeGraphics[#]] &, randomPolygons4] 





share|improve this answer









$endgroup$














  • $begingroup$
    does this work for any n distinct points? (Because then I could filter these before calling Polygon)`
    $endgroup$
    – alancalvitti
    8 hours ago










  • $begingroup$
    @alancalvitti Probably yes, because DiscretizeGraphics creates a MeshRegion.
    $endgroup$
    – Ulrich Neumann
    8 hours ago










  • $begingroup$
    Given currently the polygon vertices are sampled from a regular grid in unit square, how much distortion in the Area - DiscretizedGraphics[Area] can I expect with, say, uniformly random points in unit square?
    $endgroup$
    – alancalvitti
    8 hours ago










  • $begingroup$
    @alancalvitti If the meshregion consists of triangles there is no distortion I think.
    $endgroup$
    – Ulrich Neumann
    8 hours ago


















2












$begingroup$

The "possible issues" section of the documentation for Polygon says that




Degenerate polygons are not valid geometric regions




A degenerate polygon is a polygon that has two or more vertices which are the same.



The polygons that crash the kernel seem to be of this type. You can avoid the kernel crashes by not evaluating Area on such polygons, for example by using



If[DuplicatesFreeQ[vertices], Area[Polygon[vertices]], Undefined]


or you can modify your definition of randomThirdPoints so that it doesn't generate duplicate vertices:



randomThirdPoints[n_] := 1/3 RandomSample[Tuples[0, 1, 2, 3, 2], n]





share|improve this answer











$endgroup$














  • $begingroup$
    I tried randomPolygons4 // Map[DuplicateFreeQ] // Apply[And] and always get True (note I edited my question to use SetDelayed in the definition of randomPolygons4)
    $endgroup$
    – alancalvitti
    8 hours ago










  • $begingroup$
    @alancalvitti Using DuplicateFreeQ on polygons won't work, you have to run it on the list of vertices.
    $endgroup$
    – C. E.
    7 hours ago



















0












$begingroup$

Based on C.E.'s work, vertex deduplication must be done at the point of generation, eg:



randomThirdPoints[n_] := Module[pts,
pts := Table[a RandomChoice[0,1,2,3],RandomChoice[0,1,2,3],n];
p=pts;
While[Not[DuplicateFreeQ[p]],p= pts]
p
]


this generated safe Polygons:



Table[randomThirdPoints[4], 100] // Map[DuplicateFreeQ] // Apply[And]



True




Area works for all of these, though Undefined still need to be filtered:



Table[Polygon@randomThirdPoints[4], 20] // Map[Area]



4/27, 16/63, 1/6, 7/45, 1/3, 1/6, 1/2, Undefined, 1/9, 1/6, 2/5,
4/27, 1/9, 1/18, 11/54, 1/6, 1/9, 2/9, 1/2, 1/6




Is there a more compact syntax? I don't think I've used a While loop in 20 years.






share|improve this answer









$endgroup$










  • 1




    $begingroup$
    You can use e.g. randomThirdPoints[n_] := 1/3 RandomSample[Tuples[0, 1, 2, 3, 2], n] I think, but haven't thought about it too long.
    $endgroup$
    – C. E.
    7 hours ago














Your Answer








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%2f203266%2fpolygons-crash-kernel%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























3 Answers
3






active

oldest

votes








3 Answers
3






active

oldest

votes









active

oldest

votes






active

oldest

votes









2












$begingroup$

One workaround for polygons with 4 different points:



Map[Area[DiscretizeGraphics[#]] &, randomPolygons4] 





share|improve this answer









$endgroup$














  • $begingroup$
    does this work for any n distinct points? (Because then I could filter these before calling Polygon)`
    $endgroup$
    – alancalvitti
    8 hours ago










  • $begingroup$
    @alancalvitti Probably yes, because DiscretizeGraphics creates a MeshRegion.
    $endgroup$
    – Ulrich Neumann
    8 hours ago










  • $begingroup$
    Given currently the polygon vertices are sampled from a regular grid in unit square, how much distortion in the Area - DiscretizedGraphics[Area] can I expect with, say, uniformly random points in unit square?
    $endgroup$
    – alancalvitti
    8 hours ago










  • $begingroup$
    @alancalvitti If the meshregion consists of triangles there is no distortion I think.
    $endgroup$
    – Ulrich Neumann
    8 hours ago















2












$begingroup$

One workaround for polygons with 4 different points:



Map[Area[DiscretizeGraphics[#]] &, randomPolygons4] 





share|improve this answer









$endgroup$














  • $begingroup$
    does this work for any n distinct points? (Because then I could filter these before calling Polygon)`
    $endgroup$
    – alancalvitti
    8 hours ago










  • $begingroup$
    @alancalvitti Probably yes, because DiscretizeGraphics creates a MeshRegion.
    $endgroup$
    – Ulrich Neumann
    8 hours ago










  • $begingroup$
    Given currently the polygon vertices are sampled from a regular grid in unit square, how much distortion in the Area - DiscretizedGraphics[Area] can I expect with, say, uniformly random points in unit square?
    $endgroup$
    – alancalvitti
    8 hours ago










  • $begingroup$
    @alancalvitti If the meshregion consists of triangles there is no distortion I think.
    $endgroup$
    – Ulrich Neumann
    8 hours ago













2












2








2





$begingroup$

One workaround for polygons with 4 different points:



Map[Area[DiscretizeGraphics[#]] &, randomPolygons4] 





share|improve this answer









$endgroup$



One workaround for polygons with 4 different points:



Map[Area[DiscretizeGraphics[#]] &, randomPolygons4] 






share|improve this answer












share|improve this answer



share|improve this answer










answered 8 hours ago









Ulrich NeumannUlrich Neumann

13k7 silver badges20 bronze badges




13k7 silver badges20 bronze badges














  • $begingroup$
    does this work for any n distinct points? (Because then I could filter these before calling Polygon)`
    $endgroup$
    – alancalvitti
    8 hours ago










  • $begingroup$
    @alancalvitti Probably yes, because DiscretizeGraphics creates a MeshRegion.
    $endgroup$
    – Ulrich Neumann
    8 hours ago










  • $begingroup$
    Given currently the polygon vertices are sampled from a regular grid in unit square, how much distortion in the Area - DiscretizedGraphics[Area] can I expect with, say, uniformly random points in unit square?
    $endgroup$
    – alancalvitti
    8 hours ago










  • $begingroup$
    @alancalvitti If the meshregion consists of triangles there is no distortion I think.
    $endgroup$
    – Ulrich Neumann
    8 hours ago
















  • $begingroup$
    does this work for any n distinct points? (Because then I could filter these before calling Polygon)`
    $endgroup$
    – alancalvitti
    8 hours ago










  • $begingroup$
    @alancalvitti Probably yes, because DiscretizeGraphics creates a MeshRegion.
    $endgroup$
    – Ulrich Neumann
    8 hours ago










  • $begingroup$
    Given currently the polygon vertices are sampled from a regular grid in unit square, how much distortion in the Area - DiscretizedGraphics[Area] can I expect with, say, uniformly random points in unit square?
    $endgroup$
    – alancalvitti
    8 hours ago










  • $begingroup$
    @alancalvitti If the meshregion consists of triangles there is no distortion I think.
    $endgroup$
    – Ulrich Neumann
    8 hours ago















$begingroup$
does this work for any n distinct points? (Because then I could filter these before calling Polygon)`
$endgroup$
– alancalvitti
8 hours ago




$begingroup$
does this work for any n distinct points? (Because then I could filter these before calling Polygon)`
$endgroup$
– alancalvitti
8 hours ago












$begingroup$
@alancalvitti Probably yes, because DiscretizeGraphics creates a MeshRegion.
$endgroup$
– Ulrich Neumann
8 hours ago




$begingroup$
@alancalvitti Probably yes, because DiscretizeGraphics creates a MeshRegion.
$endgroup$
– Ulrich Neumann
8 hours ago












$begingroup$
Given currently the polygon vertices are sampled from a regular grid in unit square, how much distortion in the Area - DiscretizedGraphics[Area] can I expect with, say, uniformly random points in unit square?
$endgroup$
– alancalvitti
8 hours ago




$begingroup$
Given currently the polygon vertices are sampled from a regular grid in unit square, how much distortion in the Area - DiscretizedGraphics[Area] can I expect with, say, uniformly random points in unit square?
$endgroup$
– alancalvitti
8 hours ago












$begingroup$
@alancalvitti If the meshregion consists of triangles there is no distortion I think.
$endgroup$
– Ulrich Neumann
8 hours ago




$begingroup$
@alancalvitti If the meshregion consists of triangles there is no distortion I think.
$endgroup$
– Ulrich Neumann
8 hours ago













2












$begingroup$

The "possible issues" section of the documentation for Polygon says that




Degenerate polygons are not valid geometric regions




A degenerate polygon is a polygon that has two or more vertices which are the same.



The polygons that crash the kernel seem to be of this type. You can avoid the kernel crashes by not evaluating Area on such polygons, for example by using



If[DuplicatesFreeQ[vertices], Area[Polygon[vertices]], Undefined]


or you can modify your definition of randomThirdPoints so that it doesn't generate duplicate vertices:



randomThirdPoints[n_] := 1/3 RandomSample[Tuples[0, 1, 2, 3, 2], n]





share|improve this answer











$endgroup$














  • $begingroup$
    I tried randomPolygons4 // Map[DuplicateFreeQ] // Apply[And] and always get True (note I edited my question to use SetDelayed in the definition of randomPolygons4)
    $endgroup$
    – alancalvitti
    8 hours ago










  • $begingroup$
    @alancalvitti Using DuplicateFreeQ on polygons won't work, you have to run it on the list of vertices.
    $endgroup$
    – C. E.
    7 hours ago
















2












$begingroup$

The "possible issues" section of the documentation for Polygon says that




Degenerate polygons are not valid geometric regions




A degenerate polygon is a polygon that has two or more vertices which are the same.



The polygons that crash the kernel seem to be of this type. You can avoid the kernel crashes by not evaluating Area on such polygons, for example by using



If[DuplicatesFreeQ[vertices], Area[Polygon[vertices]], Undefined]


or you can modify your definition of randomThirdPoints so that it doesn't generate duplicate vertices:



randomThirdPoints[n_] := 1/3 RandomSample[Tuples[0, 1, 2, 3, 2], n]





share|improve this answer











$endgroup$














  • $begingroup$
    I tried randomPolygons4 // Map[DuplicateFreeQ] // Apply[And] and always get True (note I edited my question to use SetDelayed in the definition of randomPolygons4)
    $endgroup$
    – alancalvitti
    8 hours ago










  • $begingroup$
    @alancalvitti Using DuplicateFreeQ on polygons won't work, you have to run it on the list of vertices.
    $endgroup$
    – C. E.
    7 hours ago














2












2








2





$begingroup$

The "possible issues" section of the documentation for Polygon says that




Degenerate polygons are not valid geometric regions




A degenerate polygon is a polygon that has two or more vertices which are the same.



The polygons that crash the kernel seem to be of this type. You can avoid the kernel crashes by not evaluating Area on such polygons, for example by using



If[DuplicatesFreeQ[vertices], Area[Polygon[vertices]], Undefined]


or you can modify your definition of randomThirdPoints so that it doesn't generate duplicate vertices:



randomThirdPoints[n_] := 1/3 RandomSample[Tuples[0, 1, 2, 3, 2], n]





share|improve this answer











$endgroup$



The "possible issues" section of the documentation for Polygon says that




Degenerate polygons are not valid geometric regions




A degenerate polygon is a polygon that has two or more vertices which are the same.



The polygons that crash the kernel seem to be of this type. You can avoid the kernel crashes by not evaluating Area on such polygons, for example by using



If[DuplicatesFreeQ[vertices], Area[Polygon[vertices]], Undefined]


or you can modify your definition of randomThirdPoints so that it doesn't generate duplicate vertices:



randomThirdPoints[n_] := 1/3 RandomSample[Tuples[0, 1, 2, 3, 2], n]






share|improve this answer














share|improve this answer



share|improve this answer








edited 7 hours ago

























answered 8 hours ago









C. E.C. E.

53.6k3 gold badges102 silver badges211 bronze badges




53.6k3 gold badges102 silver badges211 bronze badges














  • $begingroup$
    I tried randomPolygons4 // Map[DuplicateFreeQ] // Apply[And] and always get True (note I edited my question to use SetDelayed in the definition of randomPolygons4)
    $endgroup$
    – alancalvitti
    8 hours ago










  • $begingroup$
    @alancalvitti Using DuplicateFreeQ on polygons won't work, you have to run it on the list of vertices.
    $endgroup$
    – C. E.
    7 hours ago

















  • $begingroup$
    I tried randomPolygons4 // Map[DuplicateFreeQ] // Apply[And] and always get True (note I edited my question to use SetDelayed in the definition of randomPolygons4)
    $endgroup$
    – alancalvitti
    8 hours ago










  • $begingroup$
    @alancalvitti Using DuplicateFreeQ on polygons won't work, you have to run it on the list of vertices.
    $endgroup$
    – C. E.
    7 hours ago
















$begingroup$
I tried randomPolygons4 // Map[DuplicateFreeQ] // Apply[And] and always get True (note I edited my question to use SetDelayed in the definition of randomPolygons4)
$endgroup$
– alancalvitti
8 hours ago




$begingroup$
I tried randomPolygons4 // Map[DuplicateFreeQ] // Apply[And] and always get True (note I edited my question to use SetDelayed in the definition of randomPolygons4)
$endgroup$
– alancalvitti
8 hours ago












$begingroup$
@alancalvitti Using DuplicateFreeQ on polygons won't work, you have to run it on the list of vertices.
$endgroup$
– C. E.
7 hours ago





$begingroup$
@alancalvitti Using DuplicateFreeQ on polygons won't work, you have to run it on the list of vertices.
$endgroup$
– C. E.
7 hours ago












0












$begingroup$

Based on C.E.'s work, vertex deduplication must be done at the point of generation, eg:



randomThirdPoints[n_] := Module[pts,
pts := Table[a RandomChoice[0,1,2,3],RandomChoice[0,1,2,3],n];
p=pts;
While[Not[DuplicateFreeQ[p]],p= pts]
p
]


this generated safe Polygons:



Table[randomThirdPoints[4], 100] // Map[DuplicateFreeQ] // Apply[And]



True




Area works for all of these, though Undefined still need to be filtered:



Table[Polygon@randomThirdPoints[4], 20] // Map[Area]



4/27, 16/63, 1/6, 7/45, 1/3, 1/6, 1/2, Undefined, 1/9, 1/6, 2/5,
4/27, 1/9, 1/18, 11/54, 1/6, 1/9, 2/9, 1/2, 1/6




Is there a more compact syntax? I don't think I've used a While loop in 20 years.






share|improve this answer









$endgroup$










  • 1




    $begingroup$
    You can use e.g. randomThirdPoints[n_] := 1/3 RandomSample[Tuples[0, 1, 2, 3, 2], n] I think, but haven't thought about it too long.
    $endgroup$
    – C. E.
    7 hours ago
















0












$begingroup$

Based on C.E.'s work, vertex deduplication must be done at the point of generation, eg:



randomThirdPoints[n_] := Module[pts,
pts := Table[a RandomChoice[0,1,2,3],RandomChoice[0,1,2,3],n];
p=pts;
While[Not[DuplicateFreeQ[p]],p= pts]
p
]


this generated safe Polygons:



Table[randomThirdPoints[4], 100] // Map[DuplicateFreeQ] // Apply[And]



True




Area works for all of these, though Undefined still need to be filtered:



Table[Polygon@randomThirdPoints[4], 20] // Map[Area]



4/27, 16/63, 1/6, 7/45, 1/3, 1/6, 1/2, Undefined, 1/9, 1/6, 2/5,
4/27, 1/9, 1/18, 11/54, 1/6, 1/9, 2/9, 1/2, 1/6




Is there a more compact syntax? I don't think I've used a While loop in 20 years.






share|improve this answer









$endgroup$










  • 1




    $begingroup$
    You can use e.g. randomThirdPoints[n_] := 1/3 RandomSample[Tuples[0, 1, 2, 3, 2], n] I think, but haven't thought about it too long.
    $endgroup$
    – C. E.
    7 hours ago














0












0








0





$begingroup$

Based on C.E.'s work, vertex deduplication must be done at the point of generation, eg:



randomThirdPoints[n_] := Module[pts,
pts := Table[a RandomChoice[0,1,2,3],RandomChoice[0,1,2,3],n];
p=pts;
While[Not[DuplicateFreeQ[p]],p= pts]
p
]


this generated safe Polygons:



Table[randomThirdPoints[4], 100] // Map[DuplicateFreeQ] // Apply[And]



True




Area works for all of these, though Undefined still need to be filtered:



Table[Polygon@randomThirdPoints[4], 20] // Map[Area]



4/27, 16/63, 1/6, 7/45, 1/3, 1/6, 1/2, Undefined, 1/9, 1/6, 2/5,
4/27, 1/9, 1/18, 11/54, 1/6, 1/9, 2/9, 1/2, 1/6




Is there a more compact syntax? I don't think I've used a While loop in 20 years.






share|improve this answer









$endgroup$



Based on C.E.'s work, vertex deduplication must be done at the point of generation, eg:



randomThirdPoints[n_] := Module[pts,
pts := Table[a RandomChoice[0,1,2,3],RandomChoice[0,1,2,3],n];
p=pts;
While[Not[DuplicateFreeQ[p]],p= pts]
p
]


this generated safe Polygons:



Table[randomThirdPoints[4], 100] // Map[DuplicateFreeQ] // Apply[And]



True




Area works for all of these, though Undefined still need to be filtered:



Table[Polygon@randomThirdPoints[4], 20] // Map[Area]



4/27, 16/63, 1/6, 7/45, 1/3, 1/6, 1/2, Undefined, 1/9, 1/6, 2/5,
4/27, 1/9, 1/18, 11/54, 1/6, 1/9, 2/9, 1/2, 1/6




Is there a more compact syntax? I don't think I've used a While loop in 20 years.







share|improve this answer












share|improve this answer



share|improve this answer










answered 7 hours ago









alancalvittialancalvitti

8,2813 gold badges20 silver badges83 bronze badges




8,2813 gold badges20 silver badges83 bronze badges










  • 1




    $begingroup$
    You can use e.g. randomThirdPoints[n_] := 1/3 RandomSample[Tuples[0, 1, 2, 3, 2], n] I think, but haven't thought about it too long.
    $endgroup$
    – C. E.
    7 hours ago













  • 1




    $begingroup$
    You can use e.g. randomThirdPoints[n_] := 1/3 RandomSample[Tuples[0, 1, 2, 3, 2], n] I think, but haven't thought about it too long.
    $endgroup$
    – C. E.
    7 hours ago








1




1




$begingroup$
You can use e.g. randomThirdPoints[n_] := 1/3 RandomSample[Tuples[0, 1, 2, 3, 2], n] I think, but haven't thought about it too long.
$endgroup$
– C. E.
7 hours ago





$begingroup$
You can use e.g. randomThirdPoints[n_] := 1/3 RandomSample[Tuples[0, 1, 2, 3, 2], n] I think, but haven't thought about it too long.
$endgroup$
– C. E.
7 hours 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%2f203266%2fpolygons-crash-kernel%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

19. јануар Садржај Догађаји Рођења Смрти Празници и дани сећања Види још Референце Мени за навигацијуу

Israel Cuprins Etimologie | Istorie | Geografie | Politică | Demografie | Educație | Economie | Cultură | Note explicative | Note bibliografice | Bibliografie | Legături externe | Meniu de navigaresite web oficialfacebooktweeterGoogle+Instagramcanal YouTubeInstagramtextmodificaremodificarewww.technion.ac.ilnew.huji.ac.ilwww.weizmann.ac.ilwww1.biu.ac.ilenglish.tau.ac.ilwww.haifa.ac.ilin.bgu.ac.ilwww.openu.ac.ilwww.ariel.ac.ilCIA FactbookHarta Israelului"Negotiating Jerusalem," Palestine–Israel JournalThe Schizoid Nature of Modern Hebrew: A Slavic Language in Search of a Semitic Past„Arabic in Israel: an official language and a cultural bridge”„Latest Population Statistics for Israel”„Israel Population”„Tables”„Report for Selected Countries and Subjects”Human Development Report 2016: Human Development for Everyone„Distribution of family income - Gini index”The World FactbookJerusalem Law„Israel”„Israel”„Zionist Leaders: David Ben-Gurion 1886–1973”„The status of Jerusalem”„Analysis: Kadima's big plans”„Israel's Hard-Learned Lessons”„The Legacy of Undefined Borders, Tel Aviv Notes No. 40, 5 iunie 2002”„Israel Journal: A Land Without Borders”„Population”„Israel closes decade with population of 7.5 million”Time Series-DataBank„Selected Statistics on Jerusalem Day 2007 (Hebrew)”Golan belongs to Syria, Druze protestGlobal Survey 2006: Middle East Progress Amid Global Gains in FreedomWHO: Life expectancy in Israel among highest in the worldInternational Monetary Fund, World Economic Outlook Database, April 2011: Nominal GDP list of countries. Data for the year 2010.„Israel's accession to the OECD”Popular Opinion„On the Move”Hosea 12:5„Walking the Bible Timeline”„Palestine: History”„Return to Zion”An invention called 'the Jewish people' – Haaretz – Israel NewsoriginalJewish and Non-Jewish Population of Palestine-Israel (1517–2004)ImmigrationJewishvirtuallibrary.orgChapter One: The Heralders of Zionism„The birth of modern Israel: A scrap of paper that changed history”„League of Nations: The Mandate for Palestine, 24 iulie 1922”The Population of Palestine Prior to 1948originalBackground Paper No. 47 (ST/DPI/SER.A/47)History: Foreign DominationTwo Hundred and Seventh Plenary Meeting„Israel (Labor Zionism)”Population, by Religion and Population GroupThe Suez CrisisAdolf EichmannJustice Ministry Reply to Amnesty International Report„The Interregnum”Israel Ministry of Foreign Affairs – The Palestinian National Covenant- July 1968Research on terrorism: trends, achievements & failuresThe Routledge Atlas of the Arab–Israeli conflict: The Complete History of the Struggle and the Efforts to Resolve It"George Habash, Palestinian Terrorism Tactician, Dies at 82."„1973: Arab states attack Israeli forces”Agranat Commission„Has Israel Annexed East Jerusalem?”original„After 4 Years, Intifada Still Smolders”From the End of the Cold War to 2001originalThe Oslo Accords, 1993Israel-PLO Recognition – Exchange of Letters between PM Rabin and Chairman Arafat – Sept 9- 1993Foundation for Middle East PeaceSources of Population Growth: Total Israeli Population and Settler Population, 1991–2003original„Israel marks Rabin assassination”The Wye River Memorandumoriginal„West Bank barrier route disputed, Israeli missile kills 2”"Permanent Ceasefire to Be Based on Creation Of Buffer Zone Free of Armed Personnel Other than UN, Lebanese Forces"„Hezbollah kills 8 soldiers, kidnaps two in offensive on northern border”„Olmert confirms peace talks with Syria”„Battleground Gaza: Israeli ground forces invade the strip”„IDF begins Gaza troop withdrawal, hours after ending 3-week offensive”„THE LAND: Geography and Climate”„Area of districts, sub-districts, natural regions and lakes”„Israel - Geography”„Makhteshim Country”Israel and the Palestinian Territories„Makhtesh Ramon”„The Living Dead Sea”„Temperatures reach record high in Pakistan”„Climate Extremes In Israel”Israel in figures„Deuteronom”„JNF: 240 million trees planted since 1901”„Vegetation of Israel and Neighboring Countries”Environmental Law in Israel„Executive branch”„Israel's election process explained”„The Electoral System in Israel”„Constitution for Israel”„All 120 incoming Knesset members”„Statul ISRAEL”„The Judiciary: The Court System”„Israel's high court unique in region”„Israel and the International Criminal Court: A Legal Battlefield”„Localities and population, by population group, district, sub-district and natural region”„Israel: Districts, Major Cities, Urban Localities & Metropolitan Areas”„Israel-Egypt Relations: Background & Overview of Peace Treaty”„Solana to Haaretz: New Rules of War Needed for Age of Terror”„Israel's Announcement Regarding Settlements”„United Nations Security Council Resolution 497”„Security Council resolution 478 (1980) on the status of Jerusalem”„Arabs will ask U.N. to seek razing of Israeli wall”„Olmert: Willing to trade land for peace”„Mapping Peace between Syria and Israel”„Egypt: Israel must accept the land-for-peace formula”„Israel: Age structure from 2005 to 2015”„Global, regional, and national disability-adjusted life years (DALYs) for 306 diseases and injuries and healthy life expectancy (HALE) for 188 countries, 1990–2013: quantifying the epidemiological transition”10.1016/S0140-6736(15)61340-X„World Health Statistics 2014”„Life expectancy for Israeli men world's 4th highest”„Family Structure and Well-Being Across Israel's Diverse Population”„Fertility among Jewish and Muslim Women in Israel, by Level of Religiosity, 1979-2009”„Israel leaders in birth rate, but poverty major challenge”„Ethnic Groups”„Israel's population: Over 8.5 million”„Israel - Ethnic groups”„Jews, by country of origin and age”„Minority Communities in Israel: Background & Overview”„Israel”„Language in Israel”„Selected Data from the 2011 Social Survey on Mastery of the Hebrew Language and Usage of Languages”„Religions”„5 facts about Israeli Druze, a unique religious and ethnic group”„Israël”Israel Country Study Guide„Haredi city in Negev – blessing or curse?”„New town Harish harbors hopes of being more than another Pleasantville”„List of localities, in alphabetical order”„Muncitorii români, doriți în Israel”„Prietenia româno-israeliană la nevoie se cunoaște”„The Higher Education System in Israel”„Middle East”„Academic Ranking of World Universities 2016”„Israel”„Israel”„Jewish Nobel Prize Winners”„All Nobel Prizes in Literature”„All Nobel Peace Prizes”„All Prizes in Economic Sciences”„All Nobel Prizes in Chemistry”„List of Fields Medallists”„Sakharov Prize”„Țara care și-a sfidat "destinul" și se bate umăr la umăr cu Silicon Valley”„Apple's R&D center in Israel grew to about 800 employees”„Tim Cook: Apple's Herzliya R&D center second-largest in world”„Lecții de economie de la Israel”„Land use”Israel Investment and Business GuideA Country Study: IsraelCentral Bureau of StatisticsFlorin Diaconu, „Kadima: Flexibilitate și pragmatism, dar nici un compromis în chestiuni vitale", în Revista Institutului Diplomatic Român, anul I, numărul I, semestrul I, 2006, pp. 71-72Florin Diaconu, „Likud: Dreapta israeliană constant opusă retrocedării teritoriilor cureite prin luptă în 1967", în Revista Institutului Diplomatic Român, anul I, numărul I, semestrul I, 2006, pp. 73-74MassadaIsraelul a crescut in 50 de ani cât alte state intr-un mileniuIsrael Government PortalIsraelIsraelIsraelmmmmmXX451232cb118646298(data)4027808-634110000 0004 0372 0767n7900328503691455-bb46-37e3-91d2-cb064a35ffcc1003570400564274ge1294033523775214929302638955X146498911146498911

Кастелфранко ди Сопра Становништво Референце Спољашње везе Мени за навигацију43°37′18″ СГШ; 11°33′32″ ИГД / 43.62156° СГШ; 11.55885° ИГД / 43.62156; 11.5588543°37′18″ СГШ; 11°33′32″ ИГД / 43.62156° СГШ; 11.55885° ИГД / 43.62156; 11.558853179688„The GeoNames geographical database”„Istituto Nazionale di Statistica”проширитиууWorldCat156923403n850174324558639-1cb14643287r(подаци)