D112. Tres punts donats, poden ser els vèrtexs
d'un estel convex? |
|
Donats tres punts qualsevols, per construir un
estel que els tingui per vèrtex, hem de traçar el quart punt
fent el simètric d'un dels punts respecte del segment que uneix els
altres dos punts. Per tal que el resultat sigui un estel convex, hem de
verificar que el segment que uneix els dos punts simètrics talli
el costat que fa d'eix de simetria. Anem a veure com ho fem per definir
els possibles quarts punts, verificar si el resultat és convex, i
en cas afirmatiu, dibuixar-lo. Sovint tindrem més d'una solució.
Deixem el problema de detectar el nombre de solucions per a aquelles o aquells
que vulgueu aprofundir. |
|
Definim els tres punts inicials A,
B i C i els tres punts simètrics A1, B1 i C1. Definim les interseccions
dels segments corresponents i per cada intersecció creem un booleà
Av, Bv i Cv, que serà cert si la intersecció dels dos segments
corresponents no és buida, és a dir, si el polígon
construit amb els quatre punts és convex. Menys els punts A, B i
C, tot això ho definim usant l'assignació
per tal que s'actualitzi al moure els punts A, B i C, que dibuixarem en
darrer lloc perquè quedin per sobre dels altres dibuixos. |
 |
|
Tot seguit difinim l'estel, que és
el polígon pels quatre punts, convenientment ordenats. Per això
usem la instrucció de programació si...altrament,
que ens verifica que l'estel existeixi amb l'ajuda dels booleans definits
anterioment. |
 |
|
Finalment, definim les caracterísques
del tauler i el format del títol i donem les instruccions per escriure
el títol, dibuixar l'estel i dibuixar els punts interactius en el
tauler gràfic de la Wiris: |
 |
|
Cliqueu la icona
per veure el problema resolt en una finestra activa de la Wiris. |
|