API2-prime. TP3 : coloriage

Documents pareils
Fonctions de deux variables. Mai 2011

Indications pour une progression au CM1 et au CM2

Jean Dubuffet AUTOPORTRAIT II

Procédure de sauvegarde pour AB Magique

Dans l idéal, ceci devrait être fait en amont pour chaque image envoyée sur l espace de stockage de votre site internet.

TUTORIEL IMPRESS. Ouvrir Impress cocher «présentation vierge», «suivant» cocher «écran», «suivant» cocher «standard», «créer»

LPP SAINT JOSEPH BELFORT MODE OPERATOIRE ACTIVINSPIRE. Bonne utilisation à toutes et tous! UTILISATION DES TBI LE LOGICIEL ACTIVINSPIRE

Prêt(e) pour le CE1. Tu es maintenant au CE1. Avant de commencer les leçons, nous allons réviser avec toi!

Les algorithmes de base du graphisme

Retour table des matières

Création de maquette web

LES TOUT PREMIERS PAS

Rappel sur les bases de données

NAVIGATION SUR INTERNET EXPLORER

Fête de la science Initiation au traitement des images

Formats d images. 1 Introduction

My Custom Design ver.1.0

TP : Gestion d une image au format PGM

Consigne : je remplis le tableau en tenant compte des informations de la ligne supérieure et de la colonne de gauche (droite pour les gauchers)

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Calculs de probabilités avec la loi normale

TBI et mathématique. Pour vous soutenir dans votre enseignement des mathématiques. Les outils du logiciel Notebook. les ressources internet

Aide - mémoire gnuplot 4.0

Comparer des surfaces suivant leur aire en utilisant leurs propriétés géométriques Découverte et manipulation

Réalisation de cartes vectorielles avec Word

TP1 : Initiation à l algorithmique (1 séance)

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>

Adobe Illustrator Logiciel de dessin vectoriel et de Cartographie Assistée par Ordinateur

C.F.A.O. : Conception et Fabrication Assistées par Ordinateur.

ou clic objet. R rouge B bleu : 65 Le fond votre travail en P :. d étoiles dupliquer. Esbly Page 1 / 5

Initiation à linfographie

Ecran : Processeur : OS : Caméra : Communication : Mémoire : Connectique : Audio : Batterie : Autonomie : Dimensions : Poids : DAS :

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

PREMIERE UTILISATION D IS-LOG

Silhouette Studio Leçon N 2

Planète Multimédia. Voici le logo qu il faut choisir : et tapez sur puis acceptez.

L espace de travail de Photoshop

Tp_chemins..doc. Dans la barre "arche 2" couleur claire 1/5 21/01/13

Des outils numériques simples et conviviaux!

Utiliser le logiciel Photofiltre Sommaire

Manuel Utilisateur Chariot odys.sante-lorraine.fr

Création d un fichier de découpe

Anduze, tour des Cévennes

Algorithmique et structures de données I

Comment sélectionner des sommets, des arêtes et des faces avec Blender?

Comment se connecter au VPN ECE sous vista

TD : Codage des images

Synthèse d'images I. Venceslas BIRI IGM Université de Marne La

Cours 7 : Utilisation de modules sous python

Documentation Technique du programme HYDRONDE_LN

Ripper vos DVD (extraire vos fichier du DVD pour les mettre sur votre pc)

Correction ex feuille Etoiles-Spectres.

TP SIN Traitement d image

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

Problèmes de dénombrement.

Chapitre 22 Optimisation pour diffusion à l'écran, pour le web

EVALUATIONS MI-PARCOURS CM2

DOSSIER D'ACTIVITES SUR TUXPAINT Dessiner avec Tuxpaint. Objectifs :

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.

Master IMA - UMPC Paris 6 RDMM - Année Fiche de TP

Celestia. 1. Introduction à Celestia (2/7) 1. Introduction à Celestia (1/7) Université du Temps Libre - 08 avril 2008

Résumé non technique. Tableaux d estimation

v Sygic, a.s. All rights reserverd. Manuel utilisateur

Ecran principal à l ouverture du logiciel

Pop-Art façon Roy Liechtenstein

Sommaire. Images Actives Logiciel libre développé par le CRDP de l académie de Versailles 2 Rue Pierre Bourdan Marly le Roi

Etape 1 : Identification avec un compte personnel sur la plateforme (cf. notice «Création et gestion de votre compte utilisateur»)

TD de supervision. J.P. Chemla. Polytech Tours Département productique 2ème année

Guide d utilisation du système rapport en ligne de la famille de la CMS

Bases de programmation. Cours 5. Structurer les données

Je découvre le diagramme de Venn

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Manuel Utilisateur Logiciel PEB Partie modeleur version 2.5

Opérations de base sur ImageJ

MANUEL DE PROCÉDURE POUR LA MISE À JOUR DU SITE DE FIDAFRIQUE. Documentation utilisateur Octobre 2005

JPEG, PNG, PDF, CMJN, HTML, Préparez-vous à communiquer!

La Clé informatique. Formation Excel XP Aide-mémoire

Optimisation, traitement d image et éclipse de Soleil

MAT2027 Activités sur Geogebra

LE PROJOPHONE de Fresnel

TP 7 : oscillateur de torsion

FÊTE DE LA SCIENCE 2005 (Village des Sciences)

T.P. 7 : Définir et contrôler un système d allumage statique

Initiation à l algorithmique

Plateforme FX and MM Trading de HSBCnet - Visite guidée

Numbers sur ipad. Atelier Formation Numbers sur ipad. [Notes extraitres de l'aide en ligne]

Le seul ami de Batman

Initiation à Excel. Frédéric Gava (MCF)

Incluant l analyse du patrimoine. Description du rapport (Couple seulement)


REUNION INFORMATIQUE 15/09/12 Utilisation Messagerie «Webmail 2» I ) Préambule : Pourquoi l utilisation d une messagerie commune?

Guide de l utilisateur

EXCEL TUTORIEL 2012/2013

Introduction au maillage pour le calcul scientifique

Gestion de projet. GanttProject Didacticiel V novembre Gérard Gervois Frédéric Giamarchi

Guide de l utilisateur Mikogo Version Windows

Alarme domestique- Présentation

COMMENT CREER SIMPLEMENT UN TABLEAU DE BORD AVEC SAS BI DASHBOARD 4.3?

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

Transcription:

API2-prime 2013 2014 Licence STS - Semestre 3 TP3 : coloriage Objectifs : écrire des fonctions récursives manipuler les primitives graphiques du module Graphics réviser la manipulation des couples Objet du TP : colorier une région du plan délimitée par un bord fermé dessiner des fractales 1 Coloriage On veut écrire une procédure de coloriage de régions du plan délimitée par des courbes fermées. Le coloriage s arrête une fois le bord de la région atteinte. Par exemple, la figure 1 montre une figure représentant deux rectangles, l un étant inclus dans l autre. Dans la figure?? la région du plan délimitée par les bords des deux rectangles a été coloriée en rouge. Et enfin dans la figure?? la région intérieur au petit rectangle a été coloriée en bleu. Figure 1 Une figure non coloriée On supposera dans ce travail que les bords des régions sont de couleur noire, et qu on ne colorie pas en noir. let couleur_bord = Graphics. black 1

Figure 2 Une région coloriée Question 1 simple rectangle : (int int) (int int) unit (x 1, y 1 ), (x 2, y 2 ) () qui dessine un rectangle dans la couleur de bord dont le coin inférieur gauche est aux coordonnées (x 1, y 1 ) et le coin supérieur droit est aux coordonnées (x 2, y 2 ). Question 2 double rectangle : (int int) (int int) int unit (x 1, y 1 ), (x 2, y 2 ), e () qui dessine dans la couleur de bord un premier rectangle dont le coin inférieur gauche est aux coordonnées (x 1, y 1 ) et le coin supérieur droit est aux coordonnées (x 2, y 2 ), puis un second rectangle dont les bords sont à e pixels à l extérieur du premier. Cela donnera un dessin comme sur la figure 1. Question 3 On remarque de plus que le module Graphics fournit la fonction point_color qui permet de connaître la couleur d un pixel. Ecrire une fonction booléenne sur le bord : (int int) bool (i, j) b qui retourne vrai si le point de coordonnées (x, y) est sur un bord. 1.1 Coloriage de régions convexes Une région est convexe si à chaque fois qu on prend deux points intérieurs ou sur le bord de cette région, le segment qui les relie est entièrement inclus dans la région. Les rectangles, les cercles, ellipses sont des régions convexes (cf figure??. Les étoiles ne sont pas des régions convexes (cf??). Vous allez dans les questions qui suivent colorier des régions convexes. Aucune méthode n est imposée, réflechissez sur le papier à la manière de faire avant de vous lancer dans la programmation. 2

Figure 3 Deux régions coloriées Question 4 coloriage1 : (int int) (int int) unit (x 1, y 1 ), (x 2, y 2 ) () qui colorie l intérieur d un rectangle en rouge en connaissant les coordonnées (x 1, y 1 ) et (x 2, y 2 ) de ce rectangle. Question 5 Dessinez un rectangle (à bords noirs) dans une fenêtre graphique, et testez la procédure de la question précédente. Question 6 coloriage2 : (int int) unit (x, y) () qui colorie l intérieur d un rectangle en connaissant uniquement les coordonnées d un point (x, y) de l intérieur. Question 7 Dessinez un rectangle (à bords noirs) dans une fenêtre graphique, et testez la procédure de la question précédente. Question 8 Votre méthode de coloriage numéro 2 convient-elle pour des cercles? des ellipses? des losanges? Testez! Question 9 Et pour une région non convexe? 1.2 Coloriage de régions quelconques Si votre méthode de coloriage convient pour toute région qu elle soit convexe ou non, c est très bien! Néanmoins, vous allez découvrir dans cette partie un algorithme récursif qui convient pour toute région. Cet algorithme récursif se résume à : on colorie le pixel courant de la couleur voulue et on appelle récursivement l algorithme sur chacun de ses voisins qui n est pas sur le bord 3

Figure 4 Régions convexes Reste à préciser quels sont les voisins d un pixel. Un pixel de coordonnées (x, y) a quatre voisins : 1. le voisin du nord de coordonnées (x, y + 1) ; 2. le voisin de l est de coordonnées (x + 1, y) ; 3. le voisin du sud de coordonnées (x, y 1) ; 4. et le voisin de l ouest de coordonnées (x 1, y). Question 10 Programmez la fonction voisins : (int int) (int int)array (x, y) t qui renvoie la liste des voisins du pixel passé en paramètre par ses coordonnées, sous forme d un tableau de coordonnées. Question 11 Programmez une procédure de coloriage : coloriage3 : (int int) color unit (x, y), c () qui prend les coordonnées d un point (x, y) intérieur à la région à colorier ainsi qu une couleur c, et colorie cette région. CU : la couleur passée en paramètre ne doit pas être la même que celle utilisée pour tracer le bord de la région à colorier. Question 12 Testez votre procédure pour différentes régions convexes ou non. Par exemple, après avoir dessiné les contours définis par le le code suivant draw_poly [ (0,0); (20,0); (25,40); (35,40); (40,0); (60,0); (40,100); (20,100); (0,0) ] ; draw_poly [ (25,50); (35,50); (30,80); (25,50) ] ; draw_poly [ (100,0); (120,0); (120,50); (130,50); (150,60); (150,90); (130,100); (120,100); (100,100); (100,0) ] ; 4

Figure 5 Régions non convexes draw_rect 200 0 20 100 ; draw_arc 210 100 20 20 300 360 ; draw_arc 210 100 20 20 0 240 coloriez en rouge la région contenant le point (210, 101), en jaune celle contenant le point (10, 10), en vert celle contenant le point (210, 91) et enfin en magenta celle contenant le point (110, 91). Question 13 On peut envisager une autre notion de voisins en incluant les voisins 1. du nord-est, de coordonnées (x + 1, y + 1) ; 2. du sud-est, de coordonnées (x + 1, y 1) ; 3. du sud-ouest, de coordonnées (x 1, y 1) ; 4. et du nord-ouest, de coordonnées (x 1, y + 1). Modifiez votre fonctions voisins pour inclure ces nouveaux pixels voisins, puis testez votre procédure de coloriage. Que constatez-vous? Expliquez! 2 Fractales Dans cette partie, on souhaite utiliser un algorithme récursif pour produire des fractales telles que dessinée figure??. On comprend bien que cette figure est récursive : dans chaque 1/3 du carré principal on répéte la même structure. En théorie, cela continue à l infini. Bien entendu, l écran d un ordinateur n est pas infini et on choisira de s arrêter lorsque la largeur d un carré devient inférieur à 1 pixel. L algorithme pour produire de telles fractales est le suivant : Algorithme carres_recursifs (x,y) l Entrée: x,y les coordonnées du coin inférieur gauche l la largeur Sortie: dessin de carrés récursifs Dessiner un carre aux coordonnées x,y de c^oté l 5

Figure 6 Exemple de fractale avec des carrés Si l est suffisamment grand Alors Répéter le dessin de carrés récursifs de c^oté l/3 aux quatre angles Question 14 Si (x, y) est le coin inférieur gauche d un carré de côté l, quelles vont être les coordonnées des quatre coins où l algorithme récursif devra être appliqué? Question 15 Ecrire la procédure qui implémente l algorithme que vous avez trouvé. Question 16 Tester pour x = 0, y = 0 et l = 300. carres recursifs : (int int) int unit (x, y), l () 6