Home

BE IN201 : Rapport Final Programme de lancer de rayon en java

image

Contents

1. 1 Ahh camera 2 Vue selon X 3 1000 0 0 800 600 400 400 1 003 5 44 camera 6 Vue selon moinsX 7 1000 0 0 800 600 400 400 1003 8 2 2 Le fichier de sc ne Pour une sph re x y z rayon Kreflection Ktransparence R V B n Reflect brillance dbl dbl dbl dbl dbl dbl char char char dbl dbl char Pour un plan ou une facette on a d abord les trois coordonn es de trois points sur les trois premieres lignes puis les param tres suivants sur une quatri me ligne Kreflection Ktransparence R V B n Reflect brillance dbl dbl char char char dbl dbl char 1 hh Sphere 2 300 0 0 100 0 1 0 2 122 255 255 1 2 0 8 128 a Ahh Plan 3 Mars 2008 36 Branlard Emmanuel Sluys Dimitri CHAPITRE 8 MANUEL D UTILISATION DU PROGRAMME 5 300 0 0 6 300 1 0 7 300 0 1 s 1 0 255 255 255 1 0 5 123 3 Mars 2008 37 Branlard Emmanuel Sluys Dimitri CHAPITRE 8 MANUEL D UTILISATION DU PROGRAMME 3 Mars 2008 38 Branlard Emmanuel Sluys Dimitri Le fonctionnement en profondeur du programme Dans ce chapitre nous allons t cher d expliquer le fonctionnement de notre programme de la fa on la plus claire possible Pour ce faire nous emploierons principalement des sch mas ca noniques diagrammes de s quences de sous cas d utilisation usuels et diagrammes de classes pr sentant les m thodes attributs et
2. 3 Mars 2008 16 Apres analyse nous avons choisi de cr er un objet particulier le th tre Un th tre est compos d une sc ne de cam ras et d un lien vers un cran Nous avons remplacer la notion d observateur par celle de cam ra ou appareil photo Nous ne nous restreindrons pas une seule camera cela permettant d aller d un point de vue a un autre facilement comme au the tre ou au cin ma Selon nous la scene est un ensemble d objets elle est fixe et cor respond un unique fichier de configuration Au sein du the tre on choisit une camera la cameraObservee que l on communique V cran Ce dernier se charge d afficher l image vue par cette camera au sein de l interface graphique Le set de cam ras initial est situ dans un fichier que l on charge au d marrage Une scene contient des lumi res et des objets Elle charge ces donn es via un fichier de configuration celui ci devant respecter la norme donn e dans l enonce Lorsque l utilisateur desire charger une scene il choisit un nom de fichier En appelant alors la fonction setFile la classe charge ce fichier et se met jour La scene sait quel th atre elle appartient via la variable theatre Cela pourra par exemple lui permettre de r afficher l image de la cam ra observ e si un nouveau fichier de configuration est ouvert Branlard Emmanuel Sluys Dimitri CHAPITRE 4 DESCRIPTION GLOBALE DES CLASSES 4 2
3. Etant donn qu on peut charger plusieurs cam ras depuis un fichier le menu choix cam ras permet d opter pour une seule cam ra la fois 39 CHAPITRE 8 MANUEL D UTILISATION DU PROGRAMME Consid rons maintenant les deux menus qu on peut trouver dans le coin sup rieur gauche de l interface Fichier Fichier Charger une sc ne A Propos Charger des cameras Aide Quitter aoe w Choix Cameras Yue selon Z Effacer les cameras Effacer les cameras FIG 8 2 Menu fichier et Dans le premier menu Fichier on peut charger les cam ras et la sc ne il suffit de rentrer le nom de fichier correspondant attention l extension txt qu on laisse le soin l utilisateur de cr er si les mod les fournis ne conviennent pas Dans le second menu deux rubriques sont propos es mais sans r elle pertinence ce jour si ce n est le nom des cr ateurs du logiciel 8 2 La structure des fichiers charg s Pour chacun des fichiers nous indiquerons dans un tableau les param tres qui doivent tre entr s et nous donnerons galement un exemple de fichier Nous rappelons que chacun des param tres sont s par s par des tabulations 8 2 1 Le fichier contenant les cam ras Xobs Yobs Zobs Yecr Zecr Decr Resolution Dx Dy Dz Recursion dbl dbl dbl dbl dbl dbl int dbl dbl dbl int
4. quences Nous ecrirons d abord le code de la classe Fenetre en mettant des JPanels vides o on le souhaite Puis nous passerons au developpement des J Panels en questions 6 4 Le lien entre les deux L ultime phase sera celle o l on cr era les liens entre interface graphique et theatre Le theatre besoin de connaitre l cran ImagePanel dans lequel il va afficher l image L interface graphique besoin d acc der aux param tres de la scene et des cam ras afin de mettre jour ces parametres via des ActionListener qui seront alors developpes 3 Mars 2008 30 Branlard Emmanuel Sluys Dimitri Le Plan de test Nous allons proc der aux tests des diff rentes classes dans l ordre qui a t d crit plus haut On peut distinguer deux phases dans le deroulement de ces tests La phase de test unitaire chaque classe est teste individuellement La phase de test d int gration test du logiciel dans sa globalite 7 1 Les tests unitaires Pour tester les classes du package objet nous allons cr er ces objets sph res par exemple v rifier les r gles d intersection r flexion et r fraction Pour tester notre classe vecteur nous allons cr er plusieurs d entre eux et effectuer des pro duits scalaires des translations etc nous testerons nos m thodes et v rifierons les r sultats par des calculs la main Ainsi de suite pour chacune des classes l mentaires Ce seront g n rallement des tests simples m
5. valeur le type des param tres Il pourrait donc tre interressant pour le lecteur de jetter un oeil sur ces nouveaux diagrammes car ils sont plus pr cis et plus facilement compr hensibles grace la pr sence des types Les classes n ont pas ou tr s peu volu entre temps les diff rences entre les deux versions devraient tre imperceptibles La troisi me partie du rapport est quant elle nouvelle et pr sente le programme final Analyse des besoins et pr paration la validit Cette partie pr sente la phase d analyse du projet du bureau d tude Nous simulons ici une situation r elle ou nous prenons la place du concepteur qui doit pr senter le r sultat de ces analyses aupr s de son client Il appara t n cessaire de d finir les besoins du client Nous ferons ceci travers l tude d un cas d utilisation qui nous permettra de faire ressortir les exigences de l utilisateur Dans un second temps avant de livrer notre programme il faudra effectuer une s rie de tests Notre troisi me partie d crira succintement l interface du programme Solution de conception r pondant aux besoins Cette partie pr sente la phase de conception du projet du bureau d tude Afin de d gager l esprit et le fonctionnement de notre programme nous pr senterons les classes et packages les plus importants Nous t cherons de mettre en valeur les interactions entre les diff rentes classes l aide de diagrammes de s quence Dans un dernier te
6. 3 La classe objet Objet coeffref double coefftrans double couleur Couleur indice double brillance double reflectance double Objet coeffref_ double coefftrans_ double couleur_ Couleur indice double reflectance double brillance int estintersecte R Rayon Point intersectionSuivante R Rayon Point estUnContenant boolean toString String estDansObjet P Point boolean rentreDansObjet R Rayon boolean getCouleur Couleur getCoeffref double getCoefftrans double getReflectance double getBrillance double getlndice0 double getNormale P Vecteur Vecteur Fic 4 3 Diagramme UML de la classe Objet Afin de permettre l extension du programme des objets autres que des sph res des plans ou des facettes nous avons cr une classe abstraite la classe Objet Elle contient les prototypes abstraits de chacune des m thodes de base que doivent contenir tout objet Plan sph re ou objet facette Les attribus n ont pas t repr sent s ici Les classes Plan et Sphere et Facette h riteront de la classe Objet 3 Mars 2008 17 Branlard Emmanuel Sluys Dimitri 4 2 4 La classe lumi re couleur Couleur S Point intensite int getS Point getintensite int toString String Fic 4 4 Diagramme de la classe Lumiere Lumiere x_ double y_ getCouleur Couleur CHAPITRE 4 DESCRIPTION GL
7. correpondant aux donn es du probleme Voici alors le diagramme g n ral simplifi de l ensemble des classes n cessaires ce jour pour le bon fonctionnmenet du logiciel 13 CHAPITRE 4 DESCRIPTION GLOBALE DES CLASSES JE HEIE 3 sesoueguebseyguonoy y wego4szuoypnog SEISWEI Ss3uasgnelaWe FIG 4 1 Diagramme des classes Nous avons envisag d autres packages que nous n avons pas inclu dans le diagramme ci dessus car souvent solicit s 3 Mars 2008 14 Branlard Emmanuel Sluys Dimitri CHAPITRE 4 DESCRIPTION GLOBALE DES CLASSES figures deplacement calcul EcouteClavi ES Figure iii H Matrice33 H Deplacer Rayon H Vecteur H Ray H Point couleur 1 extremite1 Couleur H Segment interface GestionnaireDeCouleur flux DI internes DI externes H ChoixdeFichier interface Observateur H LecteurScene interface H LecteurCameras Observable Fic 4 2 Diagramme des packages fr quemment utilis s 4 1 2 Le probleme d h ritage Nous n avons pas fait figurer sur le diagramme pr c dent les relations d h ritage entre les diff rentes classes Voici donc sous forme textuelle les relations d h ritage Plan Sphere et Facette h ritent de la classe abstraite Objet Image h rite de Buf feredImage Vecteur h rite de la classe abstraite Figure Point h rite de la classe abstraite Vecteur PhongBli
8. de la classe Rayon etant donn une origine J et une di rection d il s agit de parcourir le vecteur objets Vector lt Objet gt et de regarder si l ob jet est intersect via sa m thode estIntersecte Le probl me r side toutefois dans le trai tement du cas o le rayon part d un point qui est la surface d un objet D s lors l in tersection la plus proche serait le point lui m me ou un tr s proche voisin d aux impre cisions num riques Pour contourner cela on effectue un test Si le rayon que l on consid re contient d ja un ObjetIntersecte on ne tient pas compte de cet objet dans le parcourt du vecteur objets Avant l appel de rayon calculObjetIntersecte on aura d abord effectu un rayon setObjetIntersecte ObjetOuJeSuis pour pr ciser que l on part d un point qui est sur l objet objetOuJeSuis Probl me qui en resulte dans ce qui pr c de on ne prend pas en compte le cas o l objet d o je pars fait cran Il faut faire des tests diff rents suivant que je sois sur 39 CHAPITRE 9 LE FONCTIONNEMENT EN PROFONDEUR DU PROGRAMME un objet de type Contenant et selon que je rentre ou que je sorte de l objet D ou l algorithme suivant 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 CLASSE RAYON METHODE calcul0ObjetIntersecte Vector lt Objet gt objets RETOURNE 1 Objet INTERSECTE LE PLUS PROCHE SOIT
9. 3 Mars 2008 26 Branlard Emmanuel Sluys Dimitri CHAPITRE 5 IMPORTANTS DIAGRAMMES DE SEQUENCE 5 2 La mise jour du th tre Choix parametres Position camera taille cran recursivit etc Clic sur Refresh AbstractAction Visualisation de l image produite par la cam ra observ e getParametres j I setParametresCam raObserv e I creelmg JE I I Processus de mise jdur de l cran via l ImagePanel H u u 4 ee BE 1 1 I 1 1 1 L I 1 FIG 5 2 Diagramme de sequence de la mise jour des param tres Branlard Emmanuel Sluys Dimitri 27 3 Mars 2008 CHAPITRE 5 IMPORTANTS DIAGRAMMES DE SEQUENCE 3 Mars 2008 28 Branlard Emmanuel Sluys Dimitri Le plan de developement Pour mener terme le plan de developement d une application correcte il va nous falloir continuer raisonner par paquetages Evidemment la subdivision mod r e de ces paquetages sera un plus d une part dans l criture du code mais galement dans les retouches qu on peut d sirer y faire Le code sera plus lisible et plus accessible celui qui voudra s y plonger On pourra remarquer qu au sein d un package l attitude que l on adoptera syst matiquement sera de d abord developper les classes principales classes abstraites ou interfaces Puis une fois avoir pris conscience des re ls besoins des superclasses on pourra p
10. 53 Ea classe objet Con rn aut Da Amen Rene nee 4 2 4 La classe lumi re 4 2 5 L cl sse camer 12 god se al Gh peut gn rn skalar Re ei du girs 4 2 6 Deux classes utiles la classe Vecteur et la classe Rayon 4 3 Interface graphique su V e gud Re Br Para GAG ae Be en ei 4 4 La gestion des couleurs 4 4 1 La mod lisation des couleurs 4 4 2 L algorithme de d termination des couleurs co lt I NNN DH G GO AM TABLE DES MATIERES 5 Importants diagrammes de sequence 5 1 5 2 Le chargement d un fichier La mise jour du th tre 6 Le plan de d velopement 6 1 6 2 6 3 6 4 E a a EE N a rente eu MALE JM SR RID a MARNE blk ARS L interface graphique e eos sva aa ee da nu au E 8 ua da ga ae Le lien entre les deux 7 Le Plan de test 7 1 7 2 Les tests unitaires 44444444 eee Les tests d int gration III Le programme final et ses volutions 8 Manuel d utilisation du programme 8 1 8 2 La structure des fichiers charg s 8 2 1 Le fichier contenant les cam ras 8 2 2 Le fichier de sc ne 9 Le fonctionnement en profondeu
11. Couleur eclairci c Couleur facteur double Couleur composanteAmbiante o Objet couleur Couleur Couleu composanteDiffuse o Objet couleur Couleur N Vecteur L Vecteur Couleur composanteSpeculaire o Objet couleur Couleur N Vecteur L Vecteur Couleu composanteReflechie o Objet couleur Couleur Couleu composanteRefractee o Objet couleur Couleur Couleu afficherRGB c Couleur FIG 4 7 L interface que doit satisfaire tout mod le de couleur 4 4 2 L algorithme de d termination des couleurs L algorithme suivant part de la fonction calculeC ouleur de la classe Camera Depuis l observateur cam ra observ e on met des rayons R passant par chaque point de l cran On appelle la fonction R objetIntersecte soit P le point d intersection le plus proche s il existe En P On calcule le rayon r fl chi et r fract On lance des rayons dans toutes les directions des lumi res On rattrape ces rayons uniquement s ils n intersectent aucun objet entre la source et P chaque objet de la sc ne tant consid r opaque D s lors on peut calculer via un GestionnaireDeCouleur les diff rentes composantes de couleur dues aux sources de 3 Mars 2008 22 Branlard Emmanuel Sluys Dimitri CHAPITRE 4 DESCRIPTION GLOBALE DES CLASSES lumiere en P Si les rayons r fl chi et r fract intersectent un objet de la scene partir de P en tenant compte de la transparence de
12. ENT EN PROFONDEUR DU PROGRAMME 44 On assombri couleur 45 SINON 46 On calcule les diff rentes composantes de couleurs et on les ajoute couleur 47 48 FIN SI 49 FIN POUR 50 51 On lance si besoin est les rayons reflechis et refract s 52 couleur_reflechi calculeCouleur Rreflechi k 1 53 couleur_refract calculeCouleur Rrefract k 1 54 On ajoute ces couleurs couleur 55 56 RETURN couleur 3 Mars 2008 42 Branlard Emmanuel Sluys Dimitri CHAPITRE 9 LE FONCTIONNEMENT EN PROFONDEUR DU PROGRAMME 9 2 Un dessin vaut mieux qu un long discours 9 2 1 Le calcul de l image de la cam ra observ e creelmg i calcul des parametres camera init new Imaget i remplilmage wa Boucle FOR sur les differents rayons paytant de lobservateur i new RayonCourant i calculeCouleur rayonCourant rayonCourant calculObjetIntersectet calculeCouleurDueAuxLumieres pa Boucle FOR sur les lumieres new RayonversSourcef RayonSource calculObjetintersect new RayonReflechi new RayonRefract Pa return Couleur i appel recursif de calculeCouleur RayonRefract RayonReflechi FIG 9 1 Le calcul de l image de la cam ra observ e 3 Mars 2008 43 Branlard Emmanuel Sluys Dimitri CHAPITRE 9 LE FONCTIONNEMENT EN PROFONDEUR DU PROGRAMME 9 2 2 Le chargement des cam ras et les exceptions Kad en erCamera oe Pr maza rets cn EVE tion 1 fichier gt char
13. I un Point SI LE RAYON PART D UN OBJET CES DEUX PARAMETRES SONT NON NULL SOIT objetPropre objetIntersecte SOIT IPropre Intersection POUR i 0 i lt objets size i SI JE PARS D UN OBJET JE NE FAIS RIEN SINON I sobjets get i estIntersecte this SI I null ON STOCKE LE MINIMUM DE LA NORME ENTRE I ET L ORIGINE DU RAYON AINSI QUE L OBJET INTERSECTE A LA FIN DE LA BOUCLE FOR ON AURA objetIntersecte OBJET INTERSECTE LE PLUS PROCHE FIN SI FIN SI FIN POUR SI IPropre null ie LE RAYON PART D UN OBJET SI objetPropre estUnContenant ET objetPropre rentreDansObjet this OU rayon_precedent null ET objetPropre estUnContenant ET JE PASSE A TRAVERS L OBJET ALORS L objetPropre FAIT ECRAN norme_min 0 Intersection IPropre objetIntersecte objetPropre FIN SI l objetPropre fait cran SINON JE N AI INTERSECTE AUCUN AUTRE OBJET DEPUIS L OBJET SUR LEQUEL JE SUIS objetIntersecte null Intersection null FIN SINON FIN SI LE RAYON PART D UN OBJET SI objetIntersecte null JE CALCULE LE RAYON REFLECHI ET REFRACTE FIN SI RETURN objetIntersecte 3 Mars 2008 40 Branlard Emmanuel Sluys Dimitri CHAPITRE 9 LE FONCTIONNEMENT EN PROFONDEUR DU PROGRAMME 9 1 2 Calcul de la couleur Nous invitons le lecteur consulter le sch ma 9 1 de la section suivante pour suivre cet algorithme On pourra observer que ce calcul a t d compos en trois sous fonctions l mentaires qui sont d cr
14. OBALE DES CLASSES Lumiere double z_ double couleur_ Couleur intensite_ int La classe Lumiere permet de repr senter une Lumi re sur la scene On lui attribue une inten sit qui est un nombre entier correspondant au carr de la distance qu un rayon lumineux peut parcourir En effet le rapport intensit sur eclairement en un point est inversement proportionnel la distance la source au carr 4 2 5 La classe camera Camera theatre Theatre img Image Nom String resolution int profondeur int S Point d Vecteur Camera theatre_ Theatre Nom_ String S_ Point ecranY_ double ecranZ double L_ double resolution int profondeur int d_ Vecteur init creelmg remplilmage calculeCouleur rayon Rayon k int Couleur calculeCouleurDueAuxLumieres rayon Rayon Oujesuis Objet K int Couleur setS S_ Point setD d_ Vecteur setRes res int setProf parselnt int setEcran L_ double a double b double toString String 3 Mars 2008 18 Comme nous l avons vu plus haut un theatre comprend diff rentes cam ras Une cam ra contient principa lement l image qu elle peut voir Ceci est fonction de sa position de la direction dans laquelle elle regarde mais galement de la taille et de la position de l cran ou fen tre correspondant son champ de vision Pour l heure c est dans cette classe que no
15. SUPAERO ECOLE NATIONNALE SUP RIEURE DE L AERONAUTIQUE ET DE L ESPACE BE IN201 Rapport Final Programme de lancer de rayon en java Emmanuel Branlard Dimitri Sluys Le 3 Mars 2008 Table des matieres Introduction II Analyse des besoins et pr paration la validation Le r le du logiciel pour son utilisateur 1 1 D finition d un cas d utilisation 1 2 Les besoins de Y utilisateur 1 3 Ce dont Vutilisateura besoin La validation du programme 2 1 Est ce que notre programme fonctionne correctement 2 2 Plan de tests as Ba Das un tua idem den Rene UE Bak ne as 2 3 Est ce que notre programme r pond aux attentes des cas d utilisation par le client 2 4 Est ce que notre programme est stable et performant La future interface graphique 3 1 L interface en image 3 2 Descriptif de l interface Solution de conception r pondant aux besoins Description globale des classes 4 1 Diagramme g n ral du programme 4 1 1 Les relations d associations 4 1 2 Le probl me d heritage AD de Th atre 2 222 Dean ee SR de Be a age oe E T E EN d 4 221 La classe theatra iaire br u EU ers Dar morte 42 2 Larcl sseiseene s nam Ra ER nee ne 452
16. ais permettant de r veler tout de suite des erreurs qui pourraient tre d une grande cons quence par la suite et difficilement d celables 7 2 Les tests d int gration Il va falloir v rifier le bon fonctionnement de nos classes et m thodes mais surtout le bon fonctionnement des int ractions entre classes Nous allons pour cela devoir charger des fichiers de sc ne et de cam ra diff rents L avantage est qu une fois qu on affiche la sc ne selon un certain point de vue et qu on la d finit partir de ce point de vue on se rend vite compte des erreurs commises lorsque par exemple on tourne de 90 ou 180 degr s autour de cette sc ne L aspect pratique de cette r alit g om trique facilite grandement le rep rage d erreurs Ceci nous per mettra de tester entre autres la classe camera Concernant l interface graphique il nous suffit de v rifier le bon fonctionnement et la bonne prise en compte du clic sur bouton Il faudra ensuite passer aux tapes de v rification de la saisie de donn es de l utilisateur Rentre t il bien une sc ne Donne t il bien une cam ra etc 31 CHAPITRE 7 LE PLAN DE TEST 3 Mars 2008 32 Branlard Emmanuel Sluys Dimitri Troisieme partie Le programme final et ses volutions 33 Manuel d utilisation du programme 8 1 L interface D une mani re generale voici l cran que l on obtient lorsque on a charg une scene et des cameras l aide de fichiers externes El P
17. asser au developpement des sous classes sans probl mes car les besoins seront cibl s 6 1 Les calculs Par calculs nous sous entendons les m thodes principales qui interviendront dans le lancer de rayon C est dire la m thode de calcul de l objet intersect par un rayon il faut choisir l objet intersect le plus proche prendre en compte le fait qu un rayon qui part d un objet peut tre amener intersect ce m me objet On entend galement la m thode de calcul de couleur qui est r cursive Au maximum nous essayerons de d composer ces m thodes en sous m thodes l mentaires pour une plus grande facilit de tests et lisibilit Toutefois pour vraiment tester ces fonctions on aura besoin des objets et si possible de l interface graphique Donc le deve loppement de ce coeur ne peut pas intervenir d s le d but Il nous faudra consacrer un temps pr cieux d crire les algorithmes de mani re tr s pr cise afin de pr ciser les m thodes sur les objets et les rayons dont on aura besoin 6 2 Le th tre Le package th tre sera celui a developper en premier Rappelons que dans celui ci on trouve la classe Theatre mais galement dans les sous packages Scene C amera Lumiere Objet Sphere etc Apr s le developpement du Main qui est tr s sobre comme dans l avons vu en 1 1 1 le devloppement de la classe Theatre qui met au point l initialisation d une sc ne et des cam ras les besoins que l on auraient p
18. du programme Objet seul dans l espace Variation du point de vue et de la taille de l cran Les ombres sont bien plac es Les objets se cachent entre eux La r fraction et la r flexion sur les objets Bien s r cette liste n est pas exhaustive et il se peut que celle ci soit compl t e ult rieurement mesure que nous avancerons dans le projet De plus ce n est pas parce qu un cas de figure semble refl ter correctement la r alit qu il n existe pas de probl me 2 3 Est ce que notre programme r pond aux attentes des cas d utilisation par le client Durant une seconde phase nous reproduirons des cas d utilisation typiques que le client peut tre ammen effectuer Cela peut se faire en faisant tester directement le client ou des personnes externes la conception du programme Un cas d utilisation typique a t d crit dans la section 4 1 CHAPITRE 2 LA VALIDATION DU PROGRAMME 2 4 Est ce que notre programme est stable et performant Afin de terminer cette phase de tests il apparait n cessaire de v rifier la conformit de la solution par rapport ses exigences de performance Ainsi nous testerons la robustesse et la stabilit du programme Nous nous souviendrons du probleme de la place m moire qui tait une des principales pr occupations de notre BE de l ann e derni re De plus l utilisateur attend certainement une r ponse dans un d lai acceptable ainsi le probleme prend une dimension tem p
19. efracte Rayon De mani re vidente un rayon sera constitu d un Point Origine et d un rayon precedent Rayon Vecteur direction unitaire Normale Vecteur En appelant la m thode milieu double calculeObjetPlusProche on d terminera alors l objet Rayon Origine Point direction Vecteur n double g A calculObjetintersecte objets Vector lt Objet Objet le pins proche qui est in getOrigine Point tersect par ce rayon Nous getDirection Vecteur connaitrons alors si inter getintersection Point section il y a la distance setintersection l Point entre ce rayon et l objet le setRayonPrecedent R Rayon point d intersection ainsi getObjetintersecte Objet que les deux rayons r fl chi setObjetintersecte O Objet getMilieu double getDistanceParcourue double getReflechi Rayon getRefracte Rayon getNormale Vecteur toStringO String et r fract produits 4 4 3 Interface graphique L autre partie importante de la conception est l inteface graphique L utilisateur doit pouvoir manier ais ment le logiciel Pour cela nous doterons notre programme d un certain nombre de commandes lui permettant de modifier la position des cam ras X Y et Z observateur de l cran et ce gr ce un bouton d actualisation Ceci est plus pratique que d avoir relancer le programme chaque fois Apr s reflexion nous avons choisi d ajouter l interface graphique un JC
20. er de nouveaux objets et changer le mod le de lumi re cela ne rel ve pas du domaine de comp tence de l utilisateur mais de celui du concepteur futur Il ne s agit donc pas d une fonctionnalit requise et accessible par l utilisateur actuel CHAPITRE 1 LE R LE DU LOGICIEL POUR SON UTILISATEUR 1 3 Ce dont l utilisateur a besoin Il sera n c ssaire toute personne voulant utiliser le logiciel manuellement de conna tre la syntaxe des fichiers source decrivant la scene Ce dernier aura besoin d un manuel d utilisation du logiciel afin d en maitriser ses fonctionnalit s et de comprendre l effet de chaque reglages taille de l cran profondeur du lancer de rayon 3 Mars 2008 6 Branlard Emmanuel Sluys Dimitri La validation du programme 2 1 Est ce que notre programme fonctionne correctement Nous devrons dans un premier temps v rifier que les diff rents modules impl mentent cor rectement les exigences du client Il s agit ici d effectuer lors de la conception des test en JUnit afin de voir si chaque composant du programme r alise bien son cahier des charges De plus il faudra une fois le programme termine v rifier que celui renvoie bien une image conforme une situation reelle Les couleurs les ombres la transparence les superpositions doivent tre transcrites fid lement la scene 2 2 Plan de tests Nous proposons d effectuer des sc nes l mentaires permettant de tester les points princi paux
21. ger cam ra new LecteurCameras H H 1 i i 1 1 41 new ChoixDefichier 5 cal FileNigtFoundExceptign 6 throws FichierSourceExcebtion i 7 Vector Camera gt add i MAJ de la comboBox MenuPanel setCameras FIG 9 2 Diagramme de s quence du chargement des cam ras 9 2 3 Diagramme de classe de l interface graphique MenuPanel Fenetre fenetre BoutonZeroCam boutonRefresh JButton panel JPanel 1 plett Menubenel fenetre btZeroCam JButton TERRESTRE cbCam JComboBox theatre Theatre 1 OULONRETTES fParent Fenetre IbScene JLabel MenuPanel fParent Fenetre setCamerast setTextFields Fenetre theatre_ Theatre buildi buildimagePane buildContentPane buildMenuBar ImagePanel getMenuPanel MenuPanel getTheatre Theatre img Image vw int h int scale int 1 fenetre ImagePanel width int height int setimg img_ Image recalculateAndResetSize paint g Graphics ActionAide ActionChargerCameras 1 Lin ActionApropos ActionCharger Image FIG 9 3 Diagramme de classe de l interface graphique 3 Mars 2008 44 Branlard Emmanuel Sluys Dimitri LE FONCTIONNEMENT EN PROFONDEUR DU PROGRAMME CHAPITRE 9 de classe du theatre lagramme 9 2 4 D Scene theatre Theatre file String objets Vector lt Objet lumiere
22. ilisateur choisit alors de positionner l observateur de la sc ne ainsi que la taille de l cran afin d avoir une certaine vue de notre galaxie Nous laisserons galement libre celui ci de choisir la profondeur de lancer de rayon grossi rement cela correspond aux diff rents ordres de r flexion r fraction sur les objets de la sc ne Notre logiciel produira ainsi l image per ue par l observateur et l affichera l cran 3 Choisirles Exporter parametres Visuliserla l image pour Cr er un Charger un fichier de fichier de de sc ne traitement sc ne sc ne l observateur externe Fic 1 1 Diagramme des tapes d un cas d utilisation 1 2 Les besoins de l utilisateur Son besoin est la fonction principale du logiciel savoir de reconstituer sur un cran ce que voit un observateur d une sc ne constitu e d objets g om triques et de sources de lumi re color e Il veut pouvoir modifier les param tres de la sc ne position et champ de vision de l observateur ce que nous appelons ici point de vue et taille de l cran Dans l id al ce type de logiciel a une application au domaine des films en images de synth se et il s ins rerait donc dans un processus d image par image permettant de r aliser une animation Nous n irons certainement pas jusque l mais il est vident que l utilisateur aura besoin d exporter l image produite En ce qui concerne l extensibilit du logiciel c est dire cr
23. ites ci dessous 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 CLASSE Camera SOIT 0 un Point la position de l observateur SOIT Y un Vecteur de base de l cran SOIT Z un Vecteur de base de l cran METHODE remplilmage SOIT PCourant un Point initialement le coin sup rieur gauche de l cran POUR i 0 i lt limiteY i POUR j 0 j lt limiteZ j SOIT R le rayon O gt Pcourant image setRGB i j calculeCouleur R 0 Pcourant translater Z FIN POUR Pcourant translater Y FIN POUR FIN METHODE METHODE calculeCouleur R Rayon k entier SI k profondeur RETURN NULL SINON SOIT Objet R calcul bjetIntersecte VECTEUR D OBJETS SI Objet NULL RETURN new CouleurInfini SINON RETURN calculeCouleurDueAuxLumieres R Objet k FIN SINON FIN SINON FIN METHODE METHODE calculeCouleurDueAuxLumieres R Rayon Oujesuis Objet k entier SOIT P R getIntersection intersection entre R et Oujesuis SOIT couleur une Couleur POUR i 0 i lt NLumieres itt SOIT Slum le Point de la Lumiere i SOIT Rlum le Rayon P gt Slum Rlum setObjetIntersecte R getObjetIntersecte Rlum setIntersection R getIntersection Rlum setRayonPrecedent R SOIT Objet O Rlum calcul bjetIntersecte VECTEUR D OBJETS SI Le Point est dans l ombre d un autre objet 3 Mars 2008 Al Branlard Emmanuel Sluys Dimitri CHAPITRE 9 LE FONCTIONNEM
24. l utilisateur de se d placer dans le d cor en utilisant les fleches du clavier et du pav num rique Devant la longueur du temps d execution nous avons du renoncer cela 47 CHAPITRE 10 LES EVOLUTIONS ENTRE LA PHASE DE CONCEPTION ET L IMPLEMENTATION 3 Mars 2008 48 Branlard Emmanuel Sluys Dimitri Conclusion A l issue du rapport d analyse nous avions d fini l ensemble des sc narios d volution du programme pour un cas d utilisation normal Apr s le rapport de conception nous avions avanc ce travail dans la d finition de nos classes principales et pr cis les interactions jusqu au niveau des attributs et m thodes Il nous apparait clairement que cette tape est indispensable avant le codage proprement dit puisque nous nous donnons la possibilit de r partir efficacement le travail via les d finitions de tous les noms d attributs et m thodes Ce travail pr alable fut un outil de d veloppement d une grande utilit et nous avons pu aborder sereinement les phase de codage et de tests Nous sommes satisfaits car notre programme fonctionne et les phases de test ont t effectu e progressivement et en harmonie avec les rapports pr c dents Par ailleurs ce travail fut enrichissant de part les connaissances et l exp rience qu il nous a apport Celui ci fut m me interressant pour nous deux de part son c t graphique et le sens physique associ la mod lisation de la lumi re 49
25. mps nous pr senterons des methodes pour tester certaines classes puis un plan de developpement d finissant la r partition du travail au sein de notre bin me Le programme final et ses volutions Afin de clore notre travail sur ce projet nous avons tenu ce que le lecteur puisse comprendre le fonctionnement de notre programme C est pourquoi apr s avoir effectu dans un premier temps un manuel d utilisation nous pr senterons quelques point cl s du programme sous forme l algorithmes et de sch mas Enfin nous voquerons les changements qui ont eu lieu entre la phase de conception et l impl mentation TABLE DES MATIERES 3 Mars 2008 2 Branlard Emmanuel Sluys Dimitri Premiere partie Analyse des besoins et pr paration la validation Le r le du logiciel pour son utilisateur 1 1 Definition d un cas d utilisation L utilisateur fournit un fichier decrivant une scene Celle ci reconstitue par exemple la posi tion des plan tes du systeme solaire centrees au niveau du soleil un instant t fixe Ce fichier est d fini de mani re ordonn e en pr sentant les diff rents param tres du probl me r soudre positions des objets et des sources tailles intensit s caract ristiques mat riaux et couleurs Nous ne nous pronon ons pas encore sur la fa on de construire ce fichier manuelle ou infor matis e Ces fichiers de description de sc ne seront constitu s de sph res et plans infinis ou de facettes L ut
26. nn r alise l interface de GestionnaireDeCouleur Fenetre h rite de J Frame ImagePanel h rite de J Panel ActionCharger Action Aide Action A Propos ActionQuitter heritent de Abstract Action MenuPanel h rite de JPanel et r alise l interface de ActionListener pour couter les actions de l utilisateur choix de cam ra et bouton refresh EcouteClavier r alise l interface KeyListener 4 2 Le Th tre Dans la suite nous avons parfois choisi de mettre sur nos diagrammes UML les attributs car ceux ci permettent de bien comprendre ce qui constitue nos classes 3 Mars 2008 15 Branlard Emmanuel Sluys Dimitri CHAPITRE 4 DESCRIPTION GLOBALE DES CLASSES 4 2 1 La classe theatre Theatre cameras Vector lt Camera gt cameraObservee Camera Scene Scene ecran ImagePanel FichierCameras String Theatre chargeDefaultCamera setEcran IP ImagePanel getCameraObservee Camera setCameraObservee cam Camera getEcran ImagePanel getCameras Vector lt Camera gt getScene Scene toString String 4 2 2 La classe scene Scene theatre Theatre file String objets Vector lt Objet gt lumieres Vector lt Lumiere gt erreur int Scene theatre_ Theatre setFile ch String plusPetitObjetContenant P Point Obje getFile String getObjets Vector lt Objet gt getLumieres Vector lt Lumiere gt toString String
27. ombobox pour choisir la cam ra que l on souhaite observer Ainsi on pourra facilement passer d une vue selon l axe x une vue de trois quart par exemple Nous envisageons par ailleurs de permettre l utilisateur de d placer la position de la cam ra en cours via un KeyListener la classe EcouteClavier 3 Mars 2008 20 Branlard Emmanuel Sluys Dimitri CHAPITRE 4 DESCRIPTION GLOBALE DES CLASSES ImagePanel Fenetre img Image panel JPanel w int theatre Theatre h int scale int Fenetre theatre_ Theatre build ImagePanel width int height int buildimagePane setlmg img_ Image buildContentPane recalculateAndResetSize buildMenuBar paintComponent graphics Graphics getPanelTop JPanel paint g Graphics getMenuPanel MenuPanel getHeight int getTheatre Theatre getWidth int setLBFicCam ch String setHeight height_ int setLBFicScene ch String setWidth width_ int getLBFicScene String miseAJour getLBFicCam String Fic 4 5 Diagrammes UML des classes Fenetre et ImagePanel 4 4 La gestion des couleurs 4 4 1 La modelisation des couleurs Nous avions dans un premier temps choisi d utiliser des couleurs exprim es en RGB mais repr sent es sous la forme d int En effet la classe Color du package java awt permet de retour ner via la m thode getRGB un entier repr sentatif de la couleur La position des bits dans cet entie
28. orelle qu on sera tenu de prendre en compte dans cette phase 3 Mars 2008 8 Branlard Emmanuel Sluys Dimitri La future interface graphique 3 1 L interface en image Nom du fichier charge Image produite Fic 3 1 Sch ma de l interface graphique 3 2 Descriptif de l interface L interface est compos de trois parties Une partie sup rieure ou l on affiche le nom du fichier charg Une partie gauche contenant le menu d utilisation aux fonctionnalit s suivantes 9 CHAPITRE 3 LA FUTURE INTERFACE GRAPHIQUE chargement d un fichier modification et sauvegarde des parametres de vue affichage de l image exportation de celle ci Enfin une zone principale est r serv e l affichage de l image 3 Mars 2008 10 Branlard Emmanuel Sluys Dimitri Deuxieme partie Solution de conception repondant aux besoins Description globale des classes 4 1 Diagramme general du programme 4 1 1 Les relations d associations Main theatre Theatre fenetre Fenetre main args String L analyse du projet nous a amen a d gager deux aspects du programme l interface gra phique d une part et ce que nous appellerons le theatre d autre part Nous avons cr une classe Main dans un package Main qui sera la seule classe disposant d un main de notre programme classes de test exclues Celle ci cr era alors une Fenetre correspondant a l interface gra phique et un th atre
29. r du programme 9 1 9 2 Algorithmes canoniques 9 1 1 Calcul de l objet intersect le plus proche 9 1 2 Calcul de la couleur Un dessin vaut mieux qu un long discours 9 2 1 Le calcul de l image de la cam ra observ e 9 2 2 Le chargement des cam ras et les exceptions 9 2 3 Diagramme de classe de l interface graphique 9 2 4 Diagramme de classe du theatre 10 Les evolutions entre la phase de conception et l impl mentation 10 1 Ajout d un nouveau package ooa aa 10 2 Suppression de l coute clavier 2 rr rr rr ses Conclusion 25 26 27 29 29 29 30 30 31 31 31 33 35 39 36 36 36 39 3 Mars 2008 ii Branlard Emmanuel Sluys Dimitri Introduction Ce rapport tablit un bilan du travail effectu sur le projet du bureau d tude de programma tion JAVA Il se compose de trois parties Les deux premieres sont la reproduction identique des deux pr c dents rapports cela afin d viter au lecteur de devoir relire int gralement des choses qu il a d ja lues cherchant les fameuses sept diff rences Toutefois le lecteur pourra remarquer que les classes de la deuxi me partie ont chang de couleur par rapport au deuxi me rapport En effet nous avons chang de style de diagramme UML sous Eclipse afin de mieux mettre en
30. r permet de se r f rer soit au Rouge soit au Vert soit au Bleu C est pourquoi nos fonctions getCouleur ci dessus retournent toujours des types int et non des tableaux de taille 3 Toutefois nous avons recu par la suite un mail nous indiquant d utiliser des doubles entre 0 et 1 Chose que nous utiliserons lors du developpement Toutefois compte tenu de l arrivee tardive de cette indication nous n avons pas eu le temps de modifier nos diagrammes UML Suite au mail nous avons cr une classe Couleur qui repr sente une couleur sous forme de trois doubles De plus afin de permettre une extension de la mod lisation des couleurs nous cr ons une classe GestionnaireDeCouleur qui pourra ajouter des couleurs et calculer les diff rentes composantes de celle ci 3 Mars 2008 21 Branlard Emmanuel Sluys Dimitri CHAPITRE 4 DESCRIPTION GLOBALE DES CLASSES Couleur r double v double b double Couleur Couleur r double v double b double R int V int B int getRGB int getR double getV double getB double toString String Couleurlnfini Couleurinfini r double v double b double Couleurlnfini FIG 4 6 Diagrammes UML des classes couleur et couleurInfini interface InterfaceGestionnaireDeCouleur ajoutePondere a Couleur b Couleur k double Coulet ajoute a Couleur b Couleur Couleu assombri c Couleur facteur double
31. ran ecranZ_ L_ resolution_ profondeur_ d calculeCouleurtrayon K Couleur calculeCouleurDueAuxLumieres rayon Oujesuis K Couleur ImagePanel img Image we int h int scale int ImagePanel width height setImg img_ recalculateAndResetSize miseAJourQ Fic 9 4 Diagramme de classe du theatre i tr imi Branlard Emmanuel Sluys D 45 3 Mars 2008 CHAPITRE 9 LE FONCTIONNEMENT EN PROFONDEUR DU PROGRAMME 3 Mars 2008 46 Branlard Emmanuel Sluys Dimitri owe J Les evolutions entre la phase de conception et l impl mentation Il n y a pas eu de r els changements entre ces deux phases comme pourra constater le lecteur en comparant le contenu des classes de la partie deux de ce rapport avec le rapport de conception donn deux mois auparavant 10 1 Ajout d un nouveau package Nous avons choisi de d gager le fait que nous avions g rer les exceptions en cr ant deux classes charg es d avertir l utilisateur que la structure des fichiers sources est incorrect que le format de celui est incorrect ou que les param tres rentr s dans l interface graphique ont un mauvais format exception FichierSourceException FichierSourceException message String FormatException FormatException FIG 10 1 Les classes du packages exceptions 10 2 Suppression de l coute clavier Petit r ve d enfant nous pensions qu il serait possible de permettre
32. relations entre diff rentes classes Veuillez noter que sur ces sch mas n apparaitront pas toutes les m thodes Typiquement les get Attribut et set Attribut qui peuvent s averer nombreux et dont la presence allourdit inutilement les diagrammes ne se ront pas repr sent s De m me nous avons supprim les param tres qui n apportent rien ou qui allourdissent la classe C est le cas de attributs Swing mais galement des interm diaires de calcul que l on stocke sous forme d attribut de m thodes pour pouvoir les utiliser dans toute la classe tailleEcran nbCameras vecteurNormal etc Par ailleurs nous decrirons les algo rithmes principaux du programme af n que le lecteur puisse comprendre comment nous avons choisi de g rer le lancer de rayon Nous ne tenons pas rentrer dans des consid rations trop complexes et exhausives et nous nous contenterons d appuyer nos explications sur des cas pre tinents Le lecteur pourra alors comprendre l esprit global du programme Ainsi par exemple le chargement de fichier de sc ne ce fera d une mani re similaire au chargement du fichier de cam ra Nous tenons galement rappeler que le sch ma 4 1 du chapitre 4 1 permet une vision globale du programme en remarquant les deux composantes parall les constitu es d une part de l interface graphique et du theatre d autre part 9 1 Algorithmes canoniques 9 1 1 Calcul de l objet intersect le plus proche Ce calcul est effectu au sein
33. rogramme de lancer de rayon 7 oj xj Fichier a Sc ne rene ot ci apparaissentles Cam ras cameras txt lt noms de sc ne et de Choix Cameras Vue selon Z K J cam ras que l utilisateur a choisies Modifiez ici les cam ras charg es Aussiil est possible de les supprimer Effacer les cameras POSITION er gt Modifiez ici la position de EE 10 0 l ob M Couleur du vide par d faut Ycam 0 0 observateur Zcam 1000 0 ECRAN Dans 400 0 Modifiez ici la Yecran 800 0 position de l cran Zecran 600 0 DIRECTION Dx 00 Modifiez ici la direction Dy 0 0 dans laquelle on regarde Dz 1 0 COMPLEXITE Resolution 800 Modifier ici les param tres de Profondeur 3 0 qualit rafraichissez les param tres Rafraichir Fic 8 1 Champs de l interface d utilisation La plupart des param tres sont r glables directement depuis l interface o l on observe la sc ne reconstitu e La position de l observateur est sa position dans l espace x y z dans le m me rep re que la sc ne et les objets qui la compose Ce que nous appelons ici Observateur est le point source de la Camera observ e La direction d observation correspond au vecteur de l espace selon lequel on regarde Les param tres de l cran sont la largeur Yecran sa hauteur Zecran et la distance laquelle il est de l observateur Decran
34. s Vector lt Lumierez scene theatre Sceneitheatre_ 1 1 setFile ch plusPetitObjetContenant P Obje getFiled String getObjetsd Vector lt Objet gt getLumieresd Vector lt Lumiere gt toStringd String AutoDetected 1 objets Objet Lumiere coeffref double couleur Couleur coefftrans double S Point couleur Couleur intensite ini indice double brillance double Lumiere x_ vy z_ couleur_ intensite_ reflectance double 7 getCouleurg Souleu getintensited int estintersecte R Point getSd Point intersectionSulvanie R Point toStringd String estUnContenant0 boolean toStringd String estDansObjet P boolean rentreDansObjet R boolean Theatre Cameras Vector lt Camera gt cameraObservee Camera scene Scene ecran ImagePane FichierCameras Strinc Theatre chargeDefaultCamera setEcranilP getCameraObservee Camer setCameraObservee cam getEcrand ImagePane getSceneQ Scene toStringQ String 1 theatre 1 cameras theatre Theatre img Image Nom String resolution int profondeur int S Point d Vecteur initQ creelmgQ remplilmaget getimgd Image getCameras Yector lt Camera gt heste Fenetre panel JPane 1 theatre Theatre ownedEnd ecran 1 ownedEnd 1 cameraOhservee Camera Camerattheatre_ Nom_ S_ ec
35. s objets on lance deux appels recursifs en ces points et la couleur obtenue est alors ajout e la couleur due aux sources de lumi re Toutefois si l avenir cette fonction devient trop cons quente nous cr erons certainement une classe part enti re pour r aliser le calcul de lancer de rayon et donc le calcul de la couleur d un point 3 Mars 2008 23 Branlard Emmanuel Sluys Dimitri CHAPITRE 4 DESCRIPTION GLOBALE DES CLASSES 3 Mars 2008 24 Branlard Emmanuel Sluys Dimitri Importants diagrammes de sequence Nous n avons pas souhait tre exhaustifs et pr senter dans cette partie tous les diagrammes de sequence dans tous les cas possibles Nous avons cependant retenu deux cas bien particuliers qui ont lieu presque coup s r chaque utilisation Le chargement d un fichier et la mise jour d une observation l aide du bouton Rafraichir Ces deux diagrammes nous ont parus int ressants car ils solicitent les diff rents composants du programme 25 CHAPITRE 5 IMPORTANTS DIAGRAMMES DE SEQUENCE 5 1 Le chargement d un fichier gt 2 o A E a 2 ap anol p asiw ap 31np390 1d 139UDT jaupgabou abou j 1aya ffy i I I supp I 1 Le t I I t I t I t t t t 1 1 I I Fic 5 1 Diagramme de sequence de l ouverture d un fichier
36. u omettre seront alors r v l s Nous pourrons passer au developpement de C amera Scene puis des objets Cela permettra de les tester rapidement tout en les incluant dans la logique des classes dont ils sont les composants essentiles Une des choses surveiller sera les mises jour Si je modifie ma sc ne il faut que je fasse attention bien modifier mon theatre du m me coup et inversement M me si ces classes peuvent s impl menter dans diff rents fichiers il faut absolument penser toutes les associations aux h ritages et aux d pendances qui les incombent 29 CHAPITRE 6 LE PLAN DE DEVELOPEMENT 6 3 L interface graphique Pour l interface graphique a ce jour nous avons pr vu d ins rer le chargement du fichier des cameras le chargement du fichier de la scene des champs pour modifier la position de Vobservateur pour modifier la direction de son regard pour modifier la position de l cran et sa r solution un champ pour modifier la profondeur du lancer de rayon et un bouton de mise a jour Nous avons par ailleurs d cid de garder une taille d image affich e l cran fixe Ainsi m me si l image a une r solution inf rieure celle de l cran l image sera agrandie pour s ajuster a la taille de l cran Le developpement de l interface graphique peut se faire independemment dans un premier temps du developpement du th atre Leur principaux moyens d changes ont t r vel dans les diagrammes de s
37. us effectuerons le calcul de la couleur d un point Branlard Emmanuel Sluys Dimitri 4 2 6 CHAPITRE 4 DESCRIPTION GLOBALE DES CLASSES Deux classes utiles Vecteur x double y double z double Vecteur x_ double y_ double z_ double couleur_ Color 4 3 Mars Vecteur x_ double y_ double z_ double getX double getY double getZ double setX x_ double setY y_ double setZ z_ double translater dx double dy double dz double afficher toString String distance p Vecteur double norme double ps p Vecteur double det p Vecteur q Vecteur double pv p Vecteur Vecteur dir p Vecteur Vecteur moins p Vecteur Vecteur plus p Vecteur Vecteur fois a double Vecteur unitaire Vecteur cosangle p Vecteur double 2008 19 la classe Vecteur et la classe Rayon Pour d finir l orientation du regard sur la sc ne nous uti lisons un vecteur Nous nous armons galement d une multitude d op rations l mentaires pour pouvoir modifier ou qualifier ce fameux vecteur Ce vecteur sera primordial pour le jeu des lumi res et le calcul de trajectoires de rayons Branlard Emmanuel Sluys Dimitri CHAPITRE 4 DESCRIPTION GLOBALE DES CLASSES Rayon direction Vecteur Origine Point Intersection Point objetintersecte Objet distanceParcourue double reflechi Rayon r

Download Pdf Manuals

image

Related Search

Related Contents

PELLINSERT 54  Mounting and Operating Instructions EB 3963  Valueline VLSP40110B150 coaxial cable    Bandas fr 2011.FH9  SCP1000 DEMO KIT User Manual  ビスパ35BSカタログ  • Alat Analisa TV Kabel • Dirancang khusus untuk mendeteksi sinyal  Logitech LX6 User's Manual  DENVER DMB-105HD - Danish user manual  

Copyright © All rights reserved.
Failed to retrieve file