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

Contribuez Delphi Discussion :

Démo 2D amusante


Sujet :

Contribuez Delphi

  1. #1
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut Démo 2D amusante
    J'ai pris quelques minutes pour traduire une petite démo Javascript sympathique sous Delphi.

    ça se passe ici.

    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut Mise à jour !
    Sur le même lien, vous pourrez trouver le même projet mais avec un rendu OpenGL qui est plus fluide sur mon PC
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Très sympa comme animation.

    Tu n'as pas essayé de voir ce que cela pouvait donner en mettant une texture entre les maillages ?
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  4. #4
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    Citation Envoyé par Rayek Voir le message
    Très sympa comme animation.

    Tu n'as pas essayé de voir ce que cela pouvait donner en mettant une texture entre les maillages ?
    héhé, si j'y ai songé, mais le résultat n'est pas génial, ça reste de la transformation 2D sans notion d'ombre.

    voici un exemple simplement coloré...je préfère l'effet filet
    Nom : clothcolor.jpg
Affichages : 156
Taille : 58,8 Ko
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  5. #5
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 741
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 741
    Points : 15 157
    Points
    15 157
    Par défaut
    Magnifique, et très fun
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    707
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 707
    Points : 777
    Points
    777
    Par défaut
    Excellent, et fort réaliste ! A part quand un morceau est coupé, qu'il tombe au "sol" et continue de bouger. Meurt sale bête, meurt !

  7. #7
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 458
    Points
    15 458
    Billets dans le blog
    9
    Par défaut
    Très fort ! J'ai hâte de regarder le code.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  8. #8
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Bonjour,

    Superbe! Pourrait-on avoir un petit résumé des principes de base utilisés par l'algo : cela faciliterait la compréhension du code.

    A+.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  9. #9
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    Citation Envoyé par Gilbert Geyer Voir le message
    Bonjour,

    Superbe! Pourrait-on avoir un petit résumé des principes de base utilisés par l'algo : cela faciliterait la compréhension du code.

    A+.
    le code n'est pas très compliqué...mais il pourrait être plus simple au départ j'ai repris la logique JavaScript et portée sous Delphi sans vraiment chercher à peaufiner puisque ça tient en 300 lignes. J'ai tout de même remplacé la liste de points par un tableau puisqu'on connait le nombre de point et qu'il est fixe. Le code gagnerais à utiliser une liste globale des contraintes, ça ne sert pas à grand chose des les associées aux points.

    Quoi qu'il en soit, ce projet contient (mise à par la partie VCL) 3 objets:
    - TPhysics c'est juste pour englober le tout
    - TPoint défini un des points du maillage
    - TConstraint représente un lien entre deux points

    en fait seules les contraintes sont visibles à l'écran, chaque ligne du maillage est une contrainte. Quand on supprime une contrainte ça crée un trou.

    la procédure build_cloth() crée les points et les contraintes.
    la première ligne (y = 0) est "pinned" c'est à dire fixe.
    pour toutes les autres lignes (y > 0) on crée une contrainte verticale vers la ligne précédent
    pour toutes les colonnes sauf la première (x > 0) on crée un contrainte avec la colonne précédente.

    ensuite c'est juste un peu de math, les points tombent (ax, ay) et subissent un vecteur de force (vx, vy) calculé à partir de la position courante (px, py) et la position à venir (x, y) qui provient des contraintes.

    la nouvelle position (nx, ny) est calculée en partant de la position courante, plus le vecteur (vx, vy) et l'accélération (ax, ay) : 1/2 g t ² (cours de maths de seconde ?)

    donc à chaque boucle, les contraintes poussent les deux points liée à conserver une distance constante (spacing), et le lien casse si la distance entre les deux points est trop grande (tear_distance).

    la position d'un point résulte alors de la gravité et de la somme des contraintes qui lui sont appliquées.


    c'est en fait le même principe que SodaPlay
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  10. #10
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Bonjour,

    A Paul TOTH : Merci pour ces explications, c'est assez costaud d'avoir modélisé le phénomène physique en un algo appliqué à un filet virtuel donc sans poids réel : en fixant la constante gravity à 90 au lieu de 900 on constate que le filet met très longtemps pour se remettre à la verticale ce qui suppose qu'il a fallu une astuce pour trouver des valeurs numériques adéquates à affecter aux paramètres des équations mathématiques.
    Par contre ce qui m'épate c'est la bonne fluidité des mouvements obtenus avec des MoveTo() ... LineTo() je m'attendais à y touver l'utilisation des Scanlines.

    A+.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  11. #11
    Membre éprouvé
    Avatar de Dr.Who
    Inscrit en
    Septembre 2009
    Messages
    980
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Septembre 2009
    Messages : 980
    Points : 1 294
    Points
    1 294
    Par défaut
    Superbe effet de contrainte physique sur tissu.

    [ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
    Ma messagerie n'est pas la succursale du forum... merci!

Discussions similaires

  1. [Flash Pascal] Petite démo amusante :)
    Par Paul TOTH dans le forum Flash Pascal
    Réponses: 11
    Dernier message: 22/07/2012, 21h37
  2. [DB2] Version Démo
    Par borgfabr dans le forum DB2
    Réponses: 4
    Dernier message: 26/12/2004, 10h48
  3. message d'erreur "Microsoft SQL-DMO"
    Par tachi dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 17/08/2004, 11h47
  4. SQL-DMO Help
    Par agodinasandrien dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 20/10/2003, 09h12

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