Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.
Menu
Calculatrices
Graph 35 à 100
Graph 25+Pro/25+E/25+E II
Graph 35+USB/75(+E)/85/95 SD
Graph 100(+)
Classpad 300/330(+)
fx-CG 10/20 (Prizm)
Classpad 400(+E)
Graph 90+E
fx-92+ SC
Liens
¤ Transférer un programme sur
sa calculatrice

¤ Vous cherchez une fonction ?
Utilitaires >> fx-CG 10/20 (Prizm) >> Graphisme >> Lancer de rayon
Lancer de rayon
Version : 0.5 Taille : 40000 octets Ajouté le : 2016-08-19 12:29 Modifié le : 2016-08-19 16:59
Auteur et posteur :
Alex BasicCHors ligneAncien modérateurPoints: 1734 Défis: 83 Message
Planète Casio - Programme Casio de graphisme - Lancer de rayon - Alex BasicC - Calculatrices
Nombre de visites sur cette page : 3425
Score au progrank : 32
Pas encore de note !
Vous devez être connecté(e) pour noter (inscription).
814 téléchargements | Soumettre un test

Ce programme est sous licence Creative Commons 2.0 BY-NC


Description :

Voici un programme de lancer de rayon adapté de mon TIPE (codé en Caml).

Il affiche un rendu 3D d'une (et pour l'instant une seule) sphère(provisoirement ) rouge .

J'utilise la méthode d'ombrage de Phong pour la luminosité: la sphère est éclairée par une (seule) source ponctuelle.

J'ai encore quelques problèmes de gestion du code couleurs donc pour l'instant, il n'affiche qu'un rond rouge :/

L'affichage est relativement lent, mais cela est (en partie) dû au principe même du lancer de rayon.

Ce qu'il me reste à faire (une fois le problème des couleurs corrigé) :
- implémenter la possibilité pour l'utilisateur de bouger la sphère, la lumière et choisir la couleur.
- ajouter une texture de marbre et/ou pierre/granit à l'aide du bruit de perlin
- augmenter le nombre de sphères disponibles


Ce programme utilise ColorLib de Lancelot


Commentaires :


Alex BasicCHors ligneAncien modérateurPoints: 1734 Défis: 83 Message
Posté le 19-08-2016 à 13:20 | # | Fichier joint
Voici ce que le même programme donne sur la SDL
Cliquez pour recouvrir
Alex BasicCHors ligneAncien modérateurPoints: 1734 Défis: 83 Message
Posté le 19-08-2016 à 13:26 | # | Fichier joint
Et voilà la gestion Caml :
le marbre à venir
Cliquez pour recouvrir
:
LephenixnoirEn ligneAdministrateurPoints: 24699 Défis: 170 Message
Posté le 19-08-2016 à 15:32 | #
Oh, intéressant. Est-ce que l'ombrage de Phong permet de calculer avec plusieurs sources de lumière ?
Alex BasicCHors ligneAncien modérateurPoints: 1734 Défis: 83 Message
Posté le 19-08-2016 à 15:33 | #
Oui, il suffit de faire la somme de l'ombrage pour les différentes sources, donc je peux aussi augmenter le nombre de sources.
LephenixnoirEn ligneAdministrateurPoints: 24699 Défis: 170 Message
Posté le 19-08-2016 à 15:38 | #
J'imagine que les équations utilisées sont spécifiques à la forme représentée... d'où le coup de la sphère (facile à faire la sphère, c'est du second degré je crois).

Dans le même genre, c'est possible de jouer avec des plans puis des faces finies (convexes...) pour représenter des volumes plus complexes ? Ou est-ce qu'on risque d'avoir des problèmes de perf' ?

Bien joué pour la texture sphérique
Alex BasicCHors ligneAncien modérateurPoints: 1734 Défis: 83 Message
Posté le 19-08-2016 à 15:49 | #
Pour les autres formes, la partie la plus dure c'est de gérer les intersections (avec la droite de visée), les plans doivent le faire (et les convexes si ça reste une équation de degré deux), le reste est plus dure.
Une fois que j'ai la position de l'intersection, je doit calculer la normale à l'objet pour la luminosité (tous les autres paramètres étant connus).

De tout façon j'ai bien 1min de calcul/affichage pour la sphère, donc quitte à pourrir les perfs
LephenixnoirEn ligneAdministrateurPoints: 24699 Défis: 170 Message
Posté le 19-08-2016 à 15:55 | #
Pour le plan, il suffit de résoudre l'équation cartésienne, qui est du premier degré (enfin, sur plusieurs variables). Du coup c'est un système linéaire mais ça reste facile à obtenir. Vive les problèmes de détection de parallélisme (égalité de flottants...) par contre.

Ouah, c'est d'une lenteur x) Y'a qu'une sphère pourtant... c'est la Prizm qui fait ça ?
Alex BasicCHors ligneAncien modérateurPoints: 1734 Défis: 83 Message
Posté le 19-08-2016 à 16:03 | #
Oui c'est la prizm en C c'est presque instantané (et sur du 900*900)

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 57 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd