IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Haskell Discussion :

Haskell OpenGL et VB6


Sujet :

Haskell

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 113
    Par défaut Haskell OpenGL et VB6
    Il parait que le langage Haskell est un "langage de syntaxe légère",
    permettant grâce à ses "fonctions supérieures d'écrire rapidement des
    programmes faisant des chose assez compliquées". Bon.
    Voici un petit programme en Visual Basic 6, dessinant une petite fractale
    bien connue :...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Form_Load()
        For i = 0 To 3000
            For j = 0 To 3000
                If (i And j - i) = False Then PSet (i, j)
            Next j
        Next i
    End Sub
    Et voici le résultat :
    Nom : And.jpg
Affichages : 146
Taille : 34,8 Ko
    Et en Haskell, ça donne quoi ?
    Pas de solution, personne ?

  2. #2
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Le ton de la question est clairement trollesque... Si telle n'est pas ton intention je te conseille de travailler ta méthode de communication, elle laisse à désirer. Voici néanmoins un programme qui dessine cette même image sous Haskell :

    Code Haskell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    module Main (main) where
     
    import Codec.Picture (generateImage, PixelRGBA8(..))
    import Graphics.Gloss.Juicy
    import Graphics.Gloss
    import Data.Bits ((.&.))
     
    main = display (InWindow "Fractale" (1000, 1000) (10, 10))
             white
             (fromImageRGBA8 $ generateImage gen 3000 3000)
      where
        gen i j = if i .&. j-i == 0
                  then PixelRGBA8 0 0 0 255
                  else PixelRGBA8 255 255 255 255

    En dehors du code d'importation des librairies nécessaires (installées avec "cabal install gloss-juicy" au préalable), le code lui-même n'est pas bien long, et le résultat est assez esthétique (gloss utilise OpenGl via Glut pour ouvrir une fenêtre dans laquelle tu peux naviguer et zoomer).

    Pour ce qui est de la fractale elle-même, on peut obtenir un résultat bien plus intéressant avec des images vectorielles (parce qu'on peut zoomer/dézoomer sans soucis), voici un exemple très simple de la génération du triangle de Sierpiński avec la bibliothèque diagrams (hautement recommandée) à une profondeur réglable.
    --
    Jedaï

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 113
    Par défaut
    Merci pour la réponse
    Domage qu'il faille toujours installer les extensions de langage et nouvelles bibliothèques !
    Salutations,
    Vasilpapa

  4. #4
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Citation Envoyé par vasilpapa Voir le message
    Domage qu'il faille toujours installer les extensions de langage et nouvelles bibliothèques !
    1. Je n'utilise pas d'"extension de langage" dans mon programme, Brent utilise "NoMonomorphismRestriction" qui est plus un choix esthétique qu'autre chose (il aurait pu s'en passer en mettant des types)
    2. Les "extensions de langage" ne nécessitent pas d'installation, elles se choisissent juste au début d'un module avec un pragma.
    3. Pour un langage généraliste comme Haskell, se plaindre d'avoir à installer des bibliothèques pour faire certaines tâches est assez étrange... Tu devrais plutôt te réjouir qu'il y ait des bibliothèques dans ce domaine.


    Évidemment il y a des langages qui contiennent plus de choses dans leur bibliothèque standard qu'Haskell, mais il y a toujours des limitations, et souvent cela signifie que les programmeurs de ce langage se plient en quatre pour éviter de sortir de la bibliothèque standard alors qu'il existe des solutions nettement plus simples et lisibles s'ils s'autorisent à utiliser des bibliothèques tierces. D'autant qu'ici, l'installation de Gloss et JuicyPixel est particulièrement simple et ne nécessite qu'une seule ligne de commande.

    Si tu voulais plutôt parler de cabal-install et des soucis de dépendances et conflits de versions en Haskell, il s'agit là d'un autre sujet, en lente amélioration mais qui peut être légitimement irritant au jour d'aujourd'hui.

    --
    Jedaï

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Découvrez la programmation 3D en VBA/VB6 avec OpenGL 1.1
    Par Arkham46 dans le forum Microsoft Office
    Réponses: 19
    Dernier message: 25/04/2020, 17h30
  2. Utilisez les extensions OpenGL en VB6 & VBA
    Par Arkham46 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 17/02/2018, 19h08
  3. Utilisez les extensions OpenGL en VB6 & VBA
    Par Arkham46 dans le forum Microsoft Office
    Réponses: 0
    Dernier message: 08/12/2009, 16h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo