Le langage SMS est exclu sur les forums ProgBoards, tout message ne respectant pas la charte sera déplacé, modifié, ou supprimé par nos modérateurs.

Forum Langages » BASIC » Quel language utiliser pour affichage graphique vectoriel de qualité ?

diemaker form
ProgBoarder
Citer Windows XP Firefox 2 - Posté le 01/03/2008 à 07:28
Bonjour,
J'ai un programme en qb4.5 ou je récupère des données (lignes, arcs, cercles) en coordonnées géométriques dans un fichier texte,
je rencontre une mauvaise qualité d'affichage graphique de vecteurs avec QB4.5
en mode screen 12,
pour les segments droits pas de problèmes, mais pour les arcs la fonction circle n'est pas assez précise, car elle demande un centre, un angle de début, un angle de fin.
Quel language utiliser pour avoir une fonction précise d'affichage pour les arcs,
sachant que je possède les coordonnées du centre, les coordonnées du départ et les coordonnées de l'arrivée de l'arc.
idem pour une ligne avec les coordonnées de départ et de fin.
Merci de m'informer sur une solution,
Amicalement,
DMF

(gêné)
Formes de Découpe, Outils Coupants pour l'imprimerie sur http://www.diemakerform.fr
neamar
Modérateur
RemonterCiter Linux Firefox 2 - Posté le 01/03/2008 à 09:48
Pourquoi vouloir changer de langaes ?
Pourquoi ne pas transformer ton couple Points(départ,arrivéé) en Angle(Depart,Arrivee) ? Une utilisation intelligente des fonctions trigos de base suffirait, et te permettrait de continuer sur QB ?


Si tu veux vraiment changer de langage (avouons tout de même que Qbasic estcomplètement obsolète), tu peux te touner vers :
*La suite Visual Studio 2005, gratuite...mais dont le langage de type BASIC est tout de même très différent du Basic que tu connais (utilise le .NET framework)
*Visual Basic 98 : un logiciel qui commence aussi à vieillir..Mais cette fois, c'est à peu près le même basci que celui que tu connais...(logiciel Payant !)
*Sinon, il faudra envisager d'autres langages...à priori le C avec la SDL devrait convenir (corrigez moi si je me trompe). Si tu tiens à avoir un programme avec uine zooolie interface graphique, tu peux aussi essayer une librairie de gestion de fenêtres : Qt ou WxWidgets...toujours en C(++).
Before you criticize someone, you should walk a mile in their shoes. That way when you criticize them, you are a mile away from them and you have their shoes.

http://neamar.free.fr
Ou le portail général : http://neamar.fr
diemaker form
ProgBoarder
RemonterCiter Windows XP Firefox 2 - Posté le 01/03/2008 à 11:46
Bonjour Neamar,
j'ai déjà transformé en angle de départ et d'arrivée, mais l'affichage est vraiment très mauvais, voir le post :
http://www.progboards.com/sujet-1556_deformation_dessin_vectoriel_a_l_affichage_en_qb4_5.php
tu comprendra mieux mon problème !
Merci pour les infos,
Amicalement,
DMF
(désapprouve)
Formes de Découpe, Outils Coupants pour l'imprimerie sur http://www.diemakerform.fr
neamar
Modérateur
RemonterCiter Linux Firefox 2 - Posté le 01/03/2008 à 11:47
Oui, effectivement...je pense que QB n'est vraiment pas adapté à tes demandes.
Essaie un des softs que je t'ai indiqués...
Before you criticize someone, you should walk a mile in their shoes. That way when you criticize them, you are a mile away from them and you have their shoes.

http://neamar.free.fr
Ou le portail général : http://neamar.fr
Francesco
Modérateur
RemonterCiter Linux Firefox 2 - Posté le 01/03/2008 à 11:55
DMF, vas voir le sujet que tu mentionnes, j'ai apporté des modifications à ton programme et l'affichage est beaucoup mieux...
Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)
diemaker form
ProgBoarder
RemonterCiter Windows XP Firefox 2 - Posté le 01/03/2008 à 14:32
Merci Francesco,
je t'ai répondu sur le post concerné avec des infos!
Cordialement,
DMF
(désapprouve) (clein d'oeil) (sourire) (héhé
Formes de Découpe, Outils Coupants pour l'imprimerie sur http://www.diemakerform.fr
SFLPMEA
ProgBoarder
RemonterCiter Windows 98 Firefox 2 - Posté le 01/03/2008 à 18:19
(héhé Salutations.

Je pense que nous aurons toujours de petites imperfections d'affichage. Essaie le petit programme :

SCREEN 12
Yg! = 19.49
Yd! = 18.51
LINE (10, Yg!)-(400, Yd!), 15
LINE (10, 40)-(400, 38), 15

Je dessine 2 lignes. La première devrait être très légèrement oblique (0,98 d'écart entre les ordonnées d'extrémités) et elle va être cependant rigoureusement horizontale.
La seconde (2 pixels d'écart) va apparaître comme un escalier de 3 marches.
Un cercle n'est pas rigoureusement une circonférence mais une suite de pixels à égale distance arrondie du centre (Essaye MSPAINT et zoome en affichant la grille …)
Le SCREEN 12 n'offre pas assez de pixels. Même avec 6400 / 4800, il y aurait toujours des ruptures (moins voyantes mais toujours présentes).
Le changement de langage ne résoudrait certainement pas cet inconvénient.
En C++, quelle est la résolution maximum pour l'affichage ? Compatible avec les dimensions physiques de l'écran, et l'écriture éventuelle.

(héhé Salutations.
Moi, mon ordinateur, je l'ai baptisé "Billy" ...
En remerciement, je reçois beaucoup de pages bleues !
diemaker form
ProgBoarder
RemonterCiter Windows XP Firefox 2 - Posté le 01/03/2008 à 19:24
Bonjour SFLPMEA,
Je comprend bien ton opinion, mais j'utilise tous les jours des logiciels de DAO qui ont une résolution du tonnerre, et je n'arrive pas à comprendre quel fonction les concepteurs utilisent pour avoir un affichage parfait du dessin ?
leur fonction "zoom" arrivent à un détail incroyable par rapport à ce que j'ai pu faire avec qb.
ils utilisent surement autre chose que le pixel pour l'affichage car les dessins ont des traits très fin avec une résolution bien meilleur qu'un escalier,
je n'arrive pas à comprendre la méthode utilisée, si tu as une idée pour inclure un zoom de bonne qualité sur mon affichage, je suis preneur !
Amicalement,
DMF
(gêné)
Formes de Découpe, Outils Coupants pour l'imprimerie sur http://www.diemakerform.fr
neamar
Modérateur
RemonterCiter Linux Firefox 2 - Posté le 01/03/2008 à 19:49
C'est du dessin vectoriel, par opposition au bitmap...

Oh, et pendant que j'y pense : langage en francais ne prend pas de u...c'est devenu une faute commune, essayons de faire attention !
Before you criticize someone, you should walk a mile in their shoes. That way when you criticize them, you are a mile away from them and you have their shoes.

http://neamar.free.fr
Ou le portail général : http://neamar.fr
diemaker form
ProgBoarder
RemonterCiter Windows XP Firefox 2 - Posté le 01/03/2008 à 19:54
Merci, Neamar, promis je ne ferais plus l'erreur du "U" dan lang uage,
désolé, j'écris un peu comme je parle !
Merci pour ta réponse !
comment faire du dessin "VECTORIEL" ?? (question) (question)
Merci si tu as une solution.
Salutations,
DMF
(eek)
Formes de Découpe, Outils Coupants pour l'imprimerie sur http://www.diemakerform.fr
Francesco
Modérateur
RemonterCiter Linux Firefox 2 - Posté le 01/03/2008 à 20:01
Comme le dit Neamar, c'est juste que c'est du dessin vectoriel. Mélanger à cela un antialiasing, et on a un super rendu des lignes.

Mais de l'antialiasing en QB, laisse tomber. Cela est quasiment impossible à faire avec les modes proposés par défaut. Le mieux, à la rigueur, sera d'utiliser un mode VESA. Mais là, on commence à devenir un peu compliquer et je pense qu'il faudrait mieux que tu changes de langage.

Quoiqu'il en soit, Jark à longtemps bossé la dessus, en QBasic. Voici l'adresse de son site : http://www.mandelbrot-dazibao.com .
Tu y trouveras dedes images générés par du code QBasic d'une qualité
époustouflante (bon, c'est du raytracing, mais qui se base sur ce dont tu aurais besoin : VESA). Attention, c'est en anglais.

Sinon, pour un rendu sans problème de raccord, avec prise en compte de zoom, ce qu'il faut faire est, je pense, récupérer tout les points servant à définir les structures que tu dessinses (les lignes, les arc, etc...). Leurs appliqués un coef multiplicateur qui correspond au zoom que tu souhaites, et ensuite seulement, tracée les lignes et les arcs. Cela suppose une chose, c'est d'avoir des fonctions qui permettent de tracer les lignes et les arc de cercles à partir de point. Pour les lignes, pas de problème. Pour les arc de cercle, il faudrait réussir à faire une fonction prenant des points et non des angles, qui bien entendu, assure que l'arc passera par ces points.

J'espère avoir été un semblant clair (clein d'oeil)
Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)

Poster une réponse

STOP aux fautes volontaires !
Message
Formatage
Note: pour partager du code source, merci d'utiliser le wall !
Smileys (sourire) (yekyek) (clein d'oeil) (désapprouve) (triste) (cool) (langue) (confus) (gêné) (neutre) (eek) (surpris) (diable) (flèche) (exclamation) (question) (diable) (idée) (méchant)
Pseudonyme
Recopiez le code
v6 © Computaid SPRL 2005-2008 - Tous droits réservés - Hébergé par eTigris - Page générée en 0,100 s - Crédits - Stats
1 connecté