Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1194 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C++] Problème avec graphics.h

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++] Problème avec graphics.h

n°1497658
Fred051
Posté le 01-01-2007 à 14:47:17  profilanswer
 

Bonjour à tous.

 

J'ai un ptit problème avec la librairie graphics.h. J'utilise une version modifiée qui tourne sur Dev-C++, que j'ai pu télécharger ici.
Le problème c'est que l'axe des y est inversé, comme vous pouvez le voir sur cette image :

 

http://scaryfred.free.fr/Images/02.jpg

 

Quand j'utilise la fonction putpixel(x,y,color) sur le point de coordonnées (0,0), ca m'allume le pixel du coin supérieur gauche, alors que logiquement cela devrait être le coin inférieur gauche.
J'ai essayé de regarder directement dans la librairie mais je ne vois pas ce que je pourrais modifier pour régler ce petit problème.

 

Sinon, tout ceci est pour le début d'un projet de master info, qui consiste à afficher un modèle au format PLY en mode fil de fer, c'est à dire en traçant les arêtes de chaque facette. Je pensais donc utiliser une bibliothèque du genre graphics.h, mais là je me rend compte que pour gérer la troisième coordonnée z je risque de galérer. Je précise que le prof ne veut pas d'OpenGl...
Si quelqu'un aurait une piste pour réaliser celà en C++ je suis preneur  :jap:

 

Merci et bonne année à tous [:al_bundy] !


Message édité par Fred051 le 01-01-2007 à 14:58:39
mood
Publicité
Posté le 01-01-2007 à 14:47:17  profilanswer
 

n°1497688
matrixise
Posté le 01-01-2007 à 18:09:08  profilanswer
 

Pourquoi n'emplois-tu p

n°1497689
matrixise
Posté le 01-01-2007 à 18:09:56  profilanswer
 

Zut, problème d'Enter :d
 
Pourquoi n'emplois-tu pas SDL pour faire du graphisme ????
 
graphics.h provient du BGI de Borland, qui date de quelques années :d
 
Bonne soirée

n°1497732
Fred051
Posté le 01-01-2007 à 20:04:53  profilanswer
 

En fait ce n'est pas vraiment précisé quels outils je dois utiliser, dans le cours on utilisait des fonctions comme putpixel() donc j'ai pensé à la librairie graphics.h. Mais merci pour ta réponse je vais voir ce que je peux faire avec SDL.

n°1497750
apprentitu​x
Posté le 01-01-2007 à 21:38:17  profilanswer
 

Je ne vois pas ce qui te choc, c'est classique : le {0,0} est en haut à gauche.
Ca fait des décennies que c'est comme ça (du aux écrans à tube catodique).
Mais bon, si tu veux te faire remarquer par ton prof, vas-y, change tout.

n°1497766
Fred051
Posté le 02-01-2007 à 00:59:47  profilanswer
 

Pour répondre ça autant s'abstenir, pas la peine d'être désagréable.

n°1497857
apprentitu​x
Posté le 02-01-2007 à 12:22:47  profilanswer
 

Faut pas poser de questions si tu veux pas qu'on te réponde.
T'es bien douillet pour trouver que j'ai été désagréable....

n°1497911
Amonchakai
Posté le 02-01-2007 à 13:22:17  profilanswer
 

Salut,
   Au sujet de ton problème de 3D. Tu pourrais le faire toi même : fait une recherche google sur openGL et les projection et tu devrais trouver des truc comme ce schéma :
http://www-igm.univ-mlv.fr/~fdesor [...] /gl5.2.png
dans lequel tu vois comment on réalise la projection d'un modèle 3D sur un écran : il sagit tout simplement de définir le point d'observation (le sommet de la pyramide), le plan qui est en fait ton écran (le + petit rectangle) et finalement la distance de clipping (délimité par le grand rectangle). au final tu obtient une pyramide qui contient tout ce qui sera potentiellement visible. Puis il te reste a faire un petit coup de trigonométrie pour obtenir la projection de ton object 3D sur ton plan 2D (l'écran).
   Après ça commence a devenir rigolo : car il va falloir déterminer les faces que tu affiches et celle que tu affiche pas. Par exemple si tu veut projetter un cube sur ton plan, il ne va pas falloir projetter les faces de derrières que tu n'est pas sencé voir :) => d'où la nécéssitée de faire un tri sur les faces à afficher. Alors là je connais plusieurs méthodes :  
   - soit tu fait comme le Z-Buffer (là j'espère ne pas dire de connerie :D) a savoir que tu ne te contente pas de projetter que les vertices qui forme ton polygone mais tu projette tous les fragments qui composent ton polygone. puis tu fait le tri de ceux que tu affiche et de ceux que tu affiche pas.
   - autre méthode (la vieille technique de ma Sega Saturn :D ) tu prend un point de référence pour chaque polygone (par exemple le centre du polygone, celui qui est le + près de l'écran, celui qui est le + loin de l'écran) et tu trie cette fois ci pas les fragments mais carrément les polygones. La clairement tu as vite fait d'avoir des bugs, mais c'est clairement plus rapide et plus simple... :)
après à toi de voir...
 
voila, j'espère avoir pu t'aider un peu.
Bon courage :)
 
ps : au sujet de l'affichage sur l'écran je suis d'accord avec les autres : j'ai jamais vu un autre repère que celui avec le (0,0) en haut et à gauche de l'écran....


Message édité par Amonchakai le 02-01-2007 à 13:35:01
n°1498031
Fred051
Posté le 02-01-2007 à 17:53:44  profilanswer
 

Merci pour ta réponse. ^^
Je dois faire la méthode du Z-buffer, je sens que ça va être marrant !

n°1498173
rufo
Pas me confondre avec Lycos!
Posté le 03-01-2007 à 11:49:26  profilanswer
 

En école d'ingé, on avait fait un TP de CAO : un petit moteur 3D où il fallait implémenter les algos de base : bresenheim (ligne), Lambert/Gouraud/Phong (illumination ), scanline (remplissage de facettes), Z-buffer. On l'avait codé sous VC++ 5
 
Un site qui nous avait bien aidé : http://raphaello.univ-fcomte.fr/IG [...] ysique.htm


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C++] Problème avec graphics.h

 

Sujets relatifs
Modelisation du probleme du sac a dos avec les AGFlux RSS problème
Problème avec les accents...[résolu et amélioré !!]Problème avec math.h
[résolu]problème avec un ptit programme bootable.Problème de clé étrangère
probleme web servicevariable dans du javascript, problème de " et de ' ...
Problème d'include en php 5 (marche en php 4)[résolu] Problème de mise à jour d'un champ
Plus de sujets relatifs à : [C++] Problème avec graphics.h


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR