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
¤ Vous cherchez une fonction ?
Jeux >> Graph 90+E >> Divers >> Raytracing
Raytracing
Version : 1.0 Taille : 13000 octets Ajouté le : 2020-04-10 09:50 Modifié le : 2020-04-10 13:28
Auteur et posteur :
LightmareHors ligneMembre de CreativeCalcPoints: 690 Défis: 0 Message
Planète Casio - Jeu Casio - Raytracing - Lightmare - Calculatrices
Nombre de visites sur cette page : 5020
Score au progrank : 30
Pas encore de note !
Vous devez être connecté(e) pour noter (inscription).
600 téléchargements | Soumettre un test


Description :

ATTENTION : ce programme nécessite la mise à jour de la Graph 90 vers la version 3.40 !

C'est un programme de raytracing en python utilisant directement la bibliothèque graphique casioplot. Le programme peut encore beaucoup gagner en vitesse et en lisibilité, ce que je suis en train de faire sur mon pc !
Cependant il est possible de changer la scène assez facilement en changeant les coordonnées des objets (il y a un plan, une sphère, une caméra et une source lumineuse), mais on ne peut pas encore rajouter d'objets.

-> le dernier paramètre de la sphère permet de décider de si elle sera un miroir ou non :


image par Mactul

mises à jours
Cliquer pour enrouler

1.1 : on peut switcher au lancement du programme depuis la calculatrice pour choisir si la sphère sera un miroir ou non


Commentaires :

Pages: Précédente | 1, 2, 3, 4, 5 | Suivante

CritorEn ligneAdministrateurPoints: 2673 Défis: 18 Message
Posté le 10-04-2020 à 12:43 | #
Ne passe pas sur NumWorks malheureusement, malgré l'augmentation du heap/tas Python à 32K dans la dernière mise à jour :


Et pas mieux sur TI-83 Premium CE Edition Python, mais avec un heap/tas encore pire de seulement 18K il fallait s'y attendre :
LephenixnoirEn ligneAdministrateurPoints: 24574 Défis: 170 Message
Posté le 10-04-2020 à 13:24 | #
La taille de matplotl.py demande bien sûr un tas assez large côté Casio. Une heureuse conséquence d'avoir eu le script en clair
MactulHors ligneMembrePoints: 699 Défis: 0 Message
Posté le 10-04-2020 à 13:45 | #
Oh, donc le dernier paramètre est un booléen si je comprends bien

Merci d'avoir mis mon image, j'ai mis beaucoup de temps à la dessiner, au moins 1/4 d'heure en 400×400
(Il faut dire que j'étais en train d'installer debian sur une virtualbox et que j'étais à 100% du processeur )
TituyaHors ligneAdministrateurPoints: 2156 Défis: 26 Message
Posté le 10-04-2020 à 14:35 | # | Fichier joint
Alors petite mise à jour, avec pygame le résultat est beaucoup plus rapide (possibilité de draw un seul point)
1min06 pour un affichage de 400*400 (sans miroir)
2min41 pour du 600*600 (avec miroir)

Voila en fichier joint
MactulHors ligneMembrePoints: 699 Défis: 0 Message
Posté le 10-04-2020 à 14:41 | #
Cool !
C'est un poil moins portable du coup, mais si c'est plus rapide, je signe !
(Après, tu as essayé ma version sur ton PC ? Parce que j'étais dans des circonstances particulières disons )
TituyaHors ligneAdministrateurPoints: 2156 Défis: 26 Message
Posté le 10-04-2020 à 14:44 | #
J'ai bel et bien essayé ta version sur mon pc, résultat : 13 minutes pour du 360*196 (taille de la calto) :P
Avec pygame on est à 9 secondes sur mon pc !

Au passage je prépare une image en 1000x1000 pour afficher des détails !
LephenixnoirEn ligneAdministrateurPoints: 24574 Défis: 170 Message
Posté le 10-04-2020 à 14:51 | #
Joli speedup. Vous avez pensé à optimiser un peu tout ce code ? C'est... très verbeux
Benji_Hors ligneMembrePoints: 59 Défis: 0 Message
Posté le 10-04-2020 à 14:58 | #
Bonjour,

j'aimerai bien tester le programme sur mon PC, à la place du module casioplot, il faut utiliser matplotlib.pyplot ou pygame? Par quoi faut-il remplacer les fonctions set_pixel() et show_screen()?
TituyaHors ligneAdministrateurPoints: 2156 Défis: 26 Message
Posté le 10-04-2020 à 15:03 | # | Fichier joint
Salut ! Si tu veux tester ça sur ton pc, tu peux utiliser le script pygame que j'ai mis en pièce jointe il y a quelques messages.

Au passage, le rendu 1000*1000 est fini, voila l'image finale !
Cliquez pour découvrir
Cliquez pour recouvrir
Benji_Hors ligneMembrePoints: 59 Défis: 0 Message
Posté le 10-04-2020 à 15:05 | #
@Tituya Merci beaucoup! je vais y jeter un oeil!
En tout cas ça a l'air propre bien joué à Lightmare!

Pages: Précédente | 1, 2, 3, 4, 5 | Suivante

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 253 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