Devenir membre club
Connectez vous
Aide & règlement
Votre 1ère visite
Le règlement
Contacter les admins
Contacter le webmaster
Questions & réponses
Comment soutenir CodeS-SourceS
Comment faire un lien vers CodeS-SourceS
Autres questions
A propos & don
A propos du réseau
Les modérateurs
Remerciements
Faire un don
Le livre d'or
Tous les livres
Les dernières parutions
Les plus consultés
Les critiques
Le top des ventes
Le top favoris des membres
Recevoir des livres blancs
Tous les thèmes
Les derniers messages
Les nouveaux messages
Poser une question
Le Chat - IRC
Tous les tutoriels
Ajouter un tutoriel
Les tutoriels en vidéo
Les formations vidéos
Tous les codes
Ajouter un code
Filtrer par catégorie
Filtrer par date
Les plus récents
Les mis à jour
Les codes par jour
Filtrer par niveau
Niveau débutant
Niveau initié
Niveau expert
Filtrer par type
Les codes avec capture
Les codes avec zip
Les codes .Net
Filtrer par qualité
Les plus populaires
Les plus populaires du mois
Les plus téléchargés
Les mieux notés
Top par catégorie
Top des favoris
Filtrer par auteur
Tous les auteurs
Le top des membres
Les snippets
Déposer votre CV
Consulter les offres d'emploi ou de stage
Consulter les CVs
Déposer une offre d'emploi ou de stage
Modèles de CV et lettres
Trouver une convention collective
Les écoles d'informatique
Toutes les écoles
Ajouter une école
Les outils
Outils pour développeurs
Trouver des ressources
Base de données de CodeS-SourceS
Télécharger les meilleurs logiciels
Comparer les prix
Envoyer des ecards
Création de bannières
Annuaire de la prog
Tous les sites
Ajouter votre site
Le dico de la prog
Toutes les définitions
Ajouter une définition
Les évènements
Tous les évènements
Les évènements à venir
Ajouter un évènement
Téléchargements
CodeS-SourceS Toolbox
CodeS-SourceS Toolbar
Toolbar pour FireFox
Fonds d'écran
Les compil's
Nos partenaires
Magazine Programmez
Frontier.fr
Xiti
ProgOnline
Winwise
Editions Eyrolles
Toute la liste
Les RFC
CS
VB, VB.NET
ASP.NET,ASP
C, C++
ColdFusion
PHP
Javascript
Delphi
Flash
Java
Graphisme
Irc
Assembleur
C#
Mobilité
SQL
Foxpro
Python
Regex
Flex
Windev
Ce site au démarrage
begin process at 2012 02 14 00:54:00
Accueil
Codes
Tutoriels
Forum
Livres
Emploi
Services
Connexion
Trouver un code source :
dans
Tout le site
Codes
Tutoriels
Forum
Blogs
Livres
RFC
Icones
News .NET
Boutique
[ Dernières recherches ]
Veuillez saisir votre recherche... Ex: smtp, lire un fichier, rs232
Options de recherche :
Tous les codes
Tous les codes en .Net
Tous les codes sauf .Net
Langages disponibles :
Tous les langages
ASP / ASP.NET
Assembleur
C / C++ / C++.NET
C# / C#.NET
ColdFusion
Delphi
Flash
Flex, Air, ActionScript
Foxpro
Graphisme
IRC
JAVA / J2EE
Javascript / Ajax / DHTML
PDA / PocketPC
PHP
Python
Regex, Regular Expression, Expression régulière
SQL
Visual Basic, VB6, VB.NET, VB 2005, VB
475 commentaire(s) de Caribensila
sur des sources sur tout
CodeS-SourceS
Déposé sur
Le cercle enchanté d'andres gît en nos mémoires
@Mauricio
Il ne te reste plus qu'à créer une nouvelle gamme de compos... tous circulaires !
( Et t'as intérêt à ce que le code tourne rond ! ;)
@Fredelem
« Mais puisque ton algorithme est plus simple, je vais essayer de le mettre en couleurs. Est-ce que ça te paraît possible ou est-ce désespéré ? »
A priori, si tu veux présenter un choix de couleur sur un disque, cet algo est le seul qui te permette de le faire de façon smple et sans trou.
En fait, je suppose que tu penses à faire un cercle chromatique ?
- Pourquoi pas.
A condition de diviser ce cercle en 8 couleurs primaires et de présenter ces couleurs de façon discrète et non pas continue; car l'algo d'Andres ne se prête pas bien à une représentation continue. Voir :
http://fr.wikipedia.org/wiki/Cercle_chromatique
Cet algo calcule les pixels de façon dynamique et non pas statique. En effet, la position de chaque pixel dépend d'un pixel calculé précédemment, mais cette relation ne recouvre pas toujours une position logique dans le plan.
Pour s'en convaicre, il suffit de dessiner un cercle avec cet algo, en choisissant une couleur différente pour chaque octant et en le faisant dessiner pixel par pixel avec des Sleep() bien placés (c'est la meilleure méthode pour comprendre la logique de l'algo).
Tu verras que dessiner un cercle chromatique de façon continue sera très difficile.
En revanche Andres se prête bien à un dessin de cercle secteur par secteur...
Posté le :
11/02/2012 17:10:52
Déposé sur
Raytracing en delphi (progressive path tracing)
Bonjour à tous ( et bonne année ! :),
« PS: je note une perte de vitesse évidente de traitement chaque fois que j' utilise la récursivité! »
Effectivement. La dé-récursivation fait partie de l'optimisation.
Mais on optimise toujours un code qui fonctionne bien, et il est sans doute encore trop tôt pour le faire ici.
Cela dit, ce n'est peut-être pas la peine de chercher à implémenter des routines récursives à ce stade de développement.
Le problème de la récursivité est le même que celui dont parle Cirec au début de la discussion. Il faut en effet éviter de multiplier les appels à des méthodes extérieures depuis l'intérieur des routines, particulièrement dans les boucles.
Et la récusivation consiste en fait à appeler la fonction depuis l'intérieur de cette même fonction. Cela a donc un coût !
Dans le même ordre d'idée, Bactérius pourrait supprimer des procéduress un peu inutiles comme :
procedure IncPtr(var P: Pointer; const N: Longword); { Increments P by N bytes. }
et
procedure DecPtr(var P: Pointer; const N: Longword); { Decrements P by N bytes. }
dont l'appel est coûteux, et pourrait être remplacé par une seule ligne de code.
Posté le :
17/01/2012 13:29:40
Déposé sur
Raytracing en delphi (progressive path tracing)
Puisque tu en es là, je te fais part d'une petite réflexion personnelle (sans jeu de mot) au sujet de la réflexion diffuse.
J'imagine que la distribution spatiale des rayons réfléchis n'est pas homogène et qu'elle comporte des directions privilégiées (comme la normale, par exemple). Je suppose aussi que cette distribution doit + ou - suivre une distribution gaussienne. Alors je te signale une fonction de l'unité Math bien pratique :
RandG()
Elle fournit des nombres pseudo-aléatoires selon cette distribution gaussienne.
Tu peux t'en servir directement avec le générateur de Delphi ou créer ta propre fonction avec le générateur que tu as implémenté dans ton application.
Mais la réflexion est un phénomène que je ne maîtrise pas très bien, donc tout cela est à vérifier.
Bon courage !
Posté le :
12/01/2012 12:26:25
Déposé sur
Raytracing en delphi (progressive path tracing)
« Il existe en fait aussi un support pour le depth-of-field (l'effet de flou pour les objets proches et distants comme pour une vraie camera... »
Le parallèle qu'on peut faire entre Nicéphore Niepce, le 1er photographe, et Bacteius est saisissant ! ^ ^
En effet, le premier appareil photographique n'avait pas le problème de la profondeur de champ. L'image obtenue était parfaitement nette sur tous les plans. Cela était dû aux avantages du sténopé.
VOIR: http://fr.wikipedia.org/wiki/St%C3%A9nop%C3%A9
L'inconvénient du sténopé était le temps de pose extrêmement long (8 heures !). C'est pareil pour Bacterius : image très nette mais un temps de traitement qui peut paraître excessif. C'est amusant...
Tout ça pour dire que je trouve que si on veut introduire un effet de flou, il faudrait que cela ait pour conséquence une réduction du temps de traitement. Là, ce serait intellectuellement acceptable, je pense.
En effet, le problème de profondeur de champ n'est pas une réalité de la physique mais un défaut de l'oeil humain et de nos apareils photo (même principe).
Il est à noter que l'on commence à trouver sur le marché des appareils photo pouvant donner une image nette à toutes les distances : les appareils photographiques plénoptiques de Raytrix.
VOIR: http://www.reportagesphotos.fr/A2447-raytrix-r11-premier-boitier-numerique-plenoptic-du-marche.html
Posté le :
11/01/2012 13:56:35
Déposé sur
Raytracing en delphi (progressive path tracing)
C'est vrai que le sujet de Bacterius est très "technique", et donc les commentaires aussi.
Mais bon... C'est un peu un passage obligé dans ce genre de développement.
Je voudrais quand même insister sur ce que je trouve "génial" dans le résultat du travail de Bactérius ( et il me pardonnera certainement de le faire sa place ;) en essayant de parler simplement :
Il suffit de regarder attentivement la capture.
De remarquer le léger reflet sur le plafond dû à la boule transparente.
Ce reflet est en fait dû à la tache de lumière blanche et intense que l'on peut voir sur le sol, devant cette boule et provoqué par cette même boule dans un premier temps (comme une loupe). Puis cette lumière repasse dans la boule pour provoquer ces légers reflets sur le plafond...
Ce qui me paraît extraordinaire, perso, c'est que cet effet super-réaliste n'a pas eu besoin d'être programmé ni prévu par Bacterius. C'est simplement le résultat d'une technique humaine qui, reproduisant le monde réel de façon particulière (et en 2D !), aboutit exactement au même résultat que la Nature.
Parfois, en programmation, on approche le divin. Non ? ^ ^
Posté le :
09/01/2012 23:55:23
Déposé sur
Raytracing en delphi (progressive path tracing)
Et surtout ! N'oublions jamais cette sentence de Thomas d'Aquin :
« Il est plus beau d'éclairer que de briller ».
^ ^
Posté le :
09/01/2012 17:55:04
Déposé sur
Raytracing en delphi (progressive path tracing)
Rendu réaliste !
Bravo ! Car ce n'est pas toujours évident (n'est-ce pas ?). ^ ^
C'est magnifique !
Je n'ai pas encore testé la vitesse, mais comme tu l'indiques dans ton intro, ce n'était pas ton but...
Très bon travail et très bonne réaction aux critiques => 10/10
Posté le :
09/01/2012 00:09:39
Déposé sur
Raytracing en delphi (progressive path tracing)
Petite précision :
ce que tu appelles "variance" se nomme en fait "discrépance". En graphisme, on utilise souvent une discrépance un peu particulière basée sur le rectangne et notée D* (= discrépance étoile). Ca se calcule assez bien pour un ensemble de points donné.
La configuration quasi-aléatoire est, par définition, une configuration conçue pour minimiser la discrépance et permet une convergence plus rapide que la configuration strictement aléatoire dans certains problèmes, mais pas dans tous !
Les études actuelles en mathématiques et en algorithmique essaient justement d'identifier les problèmes pouvant en bénéficier de ceux qui en pâtiraient.
Mais cela dépasse de très loin mes compétences, et même ma curiosité. ^ ^
Pour le lancer de rayon, je sais que beaucoup de gens y travaillent actuellement afin d'améliorer les performances à l'aide d'algos très sophistiqués.
Et c'est tout le mérite de ton post de nous présenter les principes d'une méthode qui semble promettre beaucoup.
Posté le :
08/01/2012 19:22:34
Déposé sur
Raytracing en delphi (progressive path tracing)
Je te parle physique et tu me réponds programmation. On ne risque pas de tomber d'accord. :)
Sinon :
« Le resultat de la methode Monte-Carlo convergera vers le resultat du processus deterministe, a la meme vitesse »
Pas du tout !
Certes, les résultats convergent, mais jamais à la même vitesse !
C'est beaucoup plus lent en aléatoire.
C'est pour cet inconvénient qu'on utilise de plus en plus la méthode dite de Quasi-Monte Carlo dans certains calculs financiers, par exemple. Et la force de la méthode Quasi-Monte Carlo est de ne pas utiliser de nombres pseudo-aléatoires, justement.
Posté le :
08/01/2012 01:35:15
Déposé sur
Raytracing en delphi (progressive path tracing)
Puisqu'on en est à la théorie grâce à Francky, petite mise au point pour éviter les confusions et les commentaires de code inappropriés :
Les effets d'optique dûs à des détails microscopiques ne relèvent pas du tout de la mécanique quantique !
Prenons pour exemple l'aspect de notre Lune dans le ciel. Son aspect serait totalement différent si sa surface était plus lisse... Pourtant le comportement des rayons lumineux dû à la surface de la Lune n'a rien à voir avec sa composition atomique. Ce sont les lois de la réflexion classique qui s'appliquent. Tout comme à la surface d'une sphère de verre dépolie, par exemple.
Le mode aléatoire dont tu te sers ne sert qu'à simplifier l'opération. Tu pourrais aussi bien utiliser une méthode complétement déterministe comme une suite de Van Der Corput, par exemple (et qui serait certainement plus proche de la réalié).
En optique, il n'y a qu'un seul domaine où la mécanique quantique est inévitable (et encore !), c'est le domaine de la photoluminescence où tout se passe au niveau atomique.
@Francky
« Quand Bactérius dit qu'on a pu observer visuellement des phénomènes quantiques c'est totalement faux. »
Non ! Ce n'est pas faux. Les lois quantiques s'appliquent à tout et à toutes les échelles de taille, même si souvent, mais pas toujours, leurs manifestations passent inaperçues.
Par exemple la "boussole" dans le cerveau des oiseaux migrateurs, les cristaux de certains sels, et j'en passe ..!
Tu peux même rendre l'effet d'ondes de surface et de mémoire d'onde de façon macroscopique dans ta cuisine (ça te changera du chili con carne !). ^ ^
Pour la sucette, ce sera parfum caramel pour moi.
Tu sais, les Pierrot Gourmand... mdr
Posté le :
07/01/2012 22:58:51
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Nos sponsors
Derniers Blogs
XNA IS DEAD!
XNA IS DEAD!
par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier. OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article
par richardc
TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !
TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !
par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article
par ROMELARD Fabrice
[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)
[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)
par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article
par Gio
TECHDAYS PARIS 2012 : CHUCK MORRIS N'A PAS PEUR DES MALWARES, CE SONT LES MALWARES QUI ONT PEUR DE CHUCK MORRIS
TECHDAYS PARIS 2012 : CHUCK MORRIS N'A PAS PEUR DES MALWARES, CE SONT LES MALWARES QUI ONT PEUR DE CHUCK MORRIS
par ROMELARD Fabrice
Speakers: Pascal Sauliere, Arnaud Lheureux, Stanislas Quastana et Cyril Voisin Cette session a pour but de présenter les grands risques présents sur Internet aujourd'hui, aussi bien pour les particuliers que les entreprises. Arnaques c...
Cliquez pour lire la suite de l'article
par ROMELARD Fabrice
[WP7] DYNAMICALLY CHANGE STARTUP PAGE
[WP7] DYNAMICALLY CHANGE STARTUP PAGE
par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article
par KooKiz
La suite
RSS
Côté IT
Utiliser Office 365 pour un projet d?équipe - PART 2
Utiliser Office 365 pour un projet d?équipe - PART 1
SharePoint 2007 : Installation du Service Pack 3 de MOSS
SharePoint 2007 : Installation du Service Pack 3 de WSS V3
Installation de SQL Server DENALI CTP3
Mise à jour de Windows 2003 R2 vers Windows 2008 R2
Upgrade de SQL Server 2005 vers SQL Server 2008 R2
La suite
RSS
Offres d'emploi
Recherche Recherche développeur web ASP et ASP.Net
Recherche Analyste Programmeur Adélia
Recherche Développeur eZ Publish confirmé
Recherche AP (H/F) ACCESS EXCEL VBA
Recherche SUPPORT INFORMATIQUE / DEVELOPPEUR
Recherche Developpeur web
Recherche développeur Web
Déposer une offre
La suite
RSS
Formations Video
Coffret : Ateliers sur la mode
Atelier sur la mode : Motifs et matières
Atelier sur la mode : La planche tendance
Atelier sur la mode : De retour de pige et repérage
Corel Painter 12 : Les fondamentaux
Coffret : Microsoft Office 2010 de A à Z
De Microsoft Office 2003 à 2007 et 2010
La suite
RSS
Appels d'offres
URGENT - Realisation d-un flux standard XML -NewsML- CAHIER DES CHARGES DISPONIBLE
Budget :
400€
Creation de newsletter sur une page Facebook
Budget :
400€
fichier d-export de site OS commerce ver plateforme logistique-CDC disponible
Budget :
1 200€
La suite
RSS
Logiciels
DocTranslate (V3.1.0.0)
DOCTRANSLATE (V3.1.0.0)
DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom...
Cliquez pour télécharger DocTranslate
Tribler (2012)
TRIBLER (2012)
Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des...
Cliquez pour télécharger Tribler
OneSwarm (2012)
ONESWARM (2012)
Le peer-to-peer qui protège votre vie privée, c'est OneSwarm. Ce logiciel de peer-to-peer crypté...
Cliquez pour télécharger OneSwarm
PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)
PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)
PONAMEDIA TV DEVIENS HELLLOOO FLASH LA TV SUR VOTRE ORDINATEUR. Toute une plateforme Multi...
Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO
Academy System (17.2.1.0)
ACADEMY SYSTEM (17.2.1.0)
Logiciel de gestion des établissements. - élèves/étudiants (inscription, dossier, absence...) -...
Cliquez pour télécharger Academy System
+ de logiciels à télécharger
Vidéos drôles
Halloween Party
Terry Tate Office Linebacker Superbowl 2003
Jeu vidéo instructif
C'est un véritable vol !
Banana Song
Comment attraper la grippe A
Parodie Pub Window 7
La suite
RSS
Sondage...
Votre navigateur n'utilise pas le javascript, pour
voter aux sondages de ce site, cliquez ici
Statistiques
1 874 198
membres
0
nouveaux aujourd'hui
16 152
membres club
Comparez les prix
Apple iPad 2 (16 GB) Wi-Fi White Tablet PC
Entre 639€ et 639€
Visiter le guide achat
CalendriCode
Février
2012
L
M
M
J
V
S
D
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Consulter la suite du CalendriCode
Photothèque
Visiter la photothèque
CS Tool Box