point in TWO regions?

cemccourseware shared this question 2 years ago
Answered

Similar to how PointIn(polyA) defines a point restricted to being on polyA, is there a way I can restrict a point to be on either polyA or polyB?

I essentially have two polygons and would like a point to be freely dragged within one or the other, but not outside of either.

Alternatively, is there a way to say something like: point B can be either in polyA or locked to coords (0,0)?

Thanks!

Comments (26)

photo
1

2 alternatives


  • with scripts
  • with DynamicCoordinates (I don't like it. But in this context (also) for me it's better)

.

photo
1

Thank you. I suspected DynamicCoordinates might be what I needed.

photo
1

I think with the improved (attached) script version, the two variants has about the same quality.

photo
1

Ce qui complique c'est que à la différence de Point(liste) qui fonctionne PointIn(liste) ne fonctionne pas

photo
1

Bonjour Noel

Perhaps because a list of regions contains only the area of the regions (and not the region itself).

photo
1

Bonjour Raymond

Mais pourquoi cela fonctionne-t'il avec Point({poly1,poly2}) ? Le point peut-alors décrire les frontières des polygones.

photo
1

Yes agree, and also ClosestPoint(<regionList>, P) works (see attachment).

photo
photo
1

if poly1 intersects poly2 you can define Union(poly1,poly2) then pointin this region

I like dynamiccoords very much

photo
1

It's possible to have more then 2 regions (different types are possible !)

Move the red point (P). He is alway exact inside a region.

photo
1

I knew it with dynamic coords or scripts. I only wanted give another solution

photo
1

Alternative solutions from you or anybody are no problem for me.

In the version "pntInNreg.02" I had to use "Object()".

This works in scripts more robust (Object("<name>") in scripts is all time after definition <name>)

and I'm not shure it's possible in DynamicCoords().

That's why I used the script variant here.

But maybe it's also possible with DynamicCoords() without any problem.

photo
photo
1

Je signale que la méthode avec les coordonnées dynamiques pose un problème dans certains cas où les polygones se croisent : dans le triangle FGH il est difficile (mais faisable, et encore pas près de la frontière) de mettre le point P. Il n'y a pas ce problème avec la méthode par script. Voir les fichiers adhérence.

De plus la commande PointDans(Union(poly1,poly2)) marche lorsque poly1 et poly2 ont une intersection non vide (sinon le point obtenu est non défini). Voir la figure PointDans. Elle marche mais il y a une erreur lorsque les deux polygones se croisent comme ci-dessus, car le point P peut alors être mis dans la zone vide du triangle FIJ :

photo
1

Le chef a écrit Refusé


https://help.geogebra.org/t...

photo
1

If instead 10 bugs are fixed and in this time no other features are implemented (except synchronising the functionality GGB 5 and GGB 6), then it's OK for me.

And after this time: again!

photo
1

Bloquer toute évolution parce qu'il y aurait trop de bugs à corriger en priorité voudrait dire que le produit n'est pas mature , ce qui n'est pas du tout le cas .

Cela donne l'impression que la version 5 n'est plus supportée sur le plan des évolutions . Voir par exemple ma demande pour qu'on puisse avoir le choix "légende" ou "légende et valeur" lorsque la légende est écrite en latex . Cette demande n'a pas été marqué refusé mais répondu sans réponse .


Cordialement

photo
1

parallèlement il y a plein de travaux speech, reader, whiteboard, scientific calculator, solver

et réalité augmentée (alors qu'on attend toujours l'arlésienne commande Polyèdre)

photo
1

"Voir par exemple ma demande pour qu'on puisse avoir le choix "légende" ou "légende et valeur" lorsque la légende est écrite en latex"


ha ça les "Répondu" ça m'énerve un max !


pour Nom et Valeur tu peux utiliser en Légende par exemple $\math{%n} %v$

photo
1

Oui , avec $\math{%n} %v$ on a bien "légende et valeur" en faisant le choix "légende" seule ce qui déjà est un peu paradoxal . Et dans ce cas on ne peut plus afficher la légende seule (sans la valeur) .

photo
1

tu enlèves le %v

photo
1

Oui , on peut mettre ou enlever %v dans la légende en latex et le choix "légende" ou "légende et valeur" ne se fait plus à l'endroit logiquement dédié mais uniquement dans la légende . Si d'ailleurs on fait le choix "légende et valeur" le résultat , si la légende est en latex , n'est pas très beau .

photo
photo
1

dynamic coords example

Files: foro.ggb
photo
1

works nice (bether then my solution) and with good performance.

It's worth studying the code.

photo
photo
1

Sinon il y a ça : j'ai construit un "pont" entre les deux polygones, pont qui peut prendre deux configurations pour éviter que le point L ne puisse le franchir.

(script sur L)

bien sûr on peut cacher les ponts

Files: pont.ggb
photo
1

correction de la figure précédente avec CoordonnéesDynamiques sur K (dépendant de L)

et j'ai envoyé les points du pont en U très très loin de la fenêtre d'affichage, de sorte que K ne puisse pas "sauter" dessus


je me demandais si GGB gérait les points à l'infini, qu'on puisse régler un paramètre pour avoir une égalité du type (- infini, 0) = (+ infini 0) ?

photo
1

i think now script on point K is correct

photo
1

my final solution : one inaccessible bridge, the most distant segment from the red dot

© 2021 International GeoGebra Institute