tracer un cube en c - C - Programmation
Marsh Posté le 27-05-2015 à 11:10:17
Bjr,
Toutes les arrêtes ont la même longueur?
(Je ne comprend pas ta question.)
Bàt
Marsh Posté le 27-05-2015 à 11:14:09
Arl Guhr a écrit : Bjr, Toutes les arrêtes ont la même longueur? Bàt |
non. En faite c'est pour faire un plateau d'échec. Ma question est quelle est l'équation pour tracer un cube puisque qu'un plateau d'échec est un cube applatit
Marsh Posté le 27-05-2015 à 11:59:01
theShOcKwAvE a écrit : Ma boule de cristal n'est pas suffisamment performante pour deviner quelle API tu utilises pour faire ton rendu. |
c'est vrai dsl. J'utilise la minilibx.
Marsh Posté le 27-05-2015 à 15:03:25
ok, donc un toolkit 2D. Tu ne vas pas avoir de fonction toute faite pour faire un cube en 3D dedans. Si ce qui t'intéresse est de faire un jeu d'échec, je te recomanderais bien de considérer ton échiquier en vue de dessus et de te limiter à la 2D.
Marsh Posté le 27-05-2015 à 17:22:03
non je ne peux pas parce-que ce que je dois faire un jeu d'échec en 3d je n'ai pas le choix.
Marsh Posté le 27-05-2015 à 19:06:27
remi1995 a écrit : non je dois faire du raytracing |
Dans ce cas, tu vas sans doute vouloir définir tes 6 plans pour faire tes tests d'intersection avec ton cube et vérifier si tes coordonnées sur ton plan correspondent sont bien à l'intérieur de la face.
Marsh Posté le 27-05-2015 à 19:16:43
je n'ai pas compris, je suis complètement nul en graphisme.
Marsh Posté le 27-05-2015 à 19:31:10
c'est de la géométrie niveau collège et lycée. Un raytracer, c'est un type de rendu où tu pars de ton point d'observation et tu fais des tests d'intersections de rayon (par exemple, un rayon par pixel) pour voir quelles primitives tu intersectes dans ta scène.
Pour pouvoir réaliser ca, il te faut faire quelques routines pour faire des tests d'intersection avec tes différentes primitives. C'est vraisemblablement le but de ton exercice. Trouver comment définir un plan, une sphère un cylindre, etc ... et écrire des tests pour trouver les intersections de ces primitives avec tes rayons.
Marsh Posté le 27-05-2015 à 23:35:40
Ca t'aidera peut-être : http://www.massal.net/article/raytrace/page1.html
Marsh Posté le 01-06-2015 à 09:55:15
J'ai trouvé ça
t = - ( (A*X + B*Y + C*Z + D) / (A*DIR.x + B*DIR.y + C*DIR.z) )
pour tracer un plan.
A,B,C c'est la normale du plan.
x,y,z = (O.x-pointplaneX O.y-pointplaneY O.z-pointplane.Z).
Pointplane est un point du plan que l'on connait (pour construire le plan on lui passe un point sur le plan et la normale du plan).
les pointplaneX, pointplaneY, pointplaneZ sont des points que je choisis moi en fonction de où je veux que ce trouve le plan.
Mais je n'arrive pas à comprendre
Il faut calculer le point d'intersection entre le rayon et le plan.
L'équation du rayon est :
x(t)= d0 t+p0
y(t)= d1 t+p1
z(t)= d2 t+p2
avec (d0,d1,d2)la direction du rayon et (p0 ,p1 ,p2 ) le point origine du rayon.
Pour le plan, on a x = 0, donc :
d0 t+p0 = 0
t = -p0 / d0 si d0 est différent de 0 (sinon, on retourne MAXDOUBLE)
Si t est supérieur à epsilon, on remplace sa valeur dans les équations du rayon pour obtenir les coordonnées (x,y,z) du point d'intersection. Sinon, on retourne comme valeur pour la distance, la valeur de MAXDOUBLE.
Calcul de la normale
Dans le repère du plan, la normale au point d'intersection est le point de direction l'axe des abscisses avec pour norme 1.
merci pour votre aide et bonne journée.
Marsh Posté le 02-06-2015 à 15:12:13
en faite ma question est comment faire pour calculer la norme.
Marsh Posté le 02-06-2015 à 16:17:09
http://fr.wikipedia.org/wiki/Norme [...] atiques%29
Marsh Posté le 02-06-2015 à 16:50:26
merci mais dans l'exemple trouvé il disait que A,B,C sont la norme du plan donc il faut trouver 3 normes non ? j'ai peux être pas bien compris.
Marsh Posté le 02-06-2015 à 17:03:22
A quel endroit de l'article que je t'ai filé tu vois ça
Du reste, le bon article serait plutôt celui-ci pour ton besoin de calcul de la normale : http://fr.wikipedia.org/wiki/Norma [...] ne_surface
Marsh Posté le 02-06-2015 à 17:06:11
dans le tuto de raytracing. Que signifie le point et les accolades avec ABC dedant ?
Marsh Posté le 27-05-2015 à 10:44:16
Bonjour,
quelle est l'équation du cube.
Merci beaucoup Rémi
Message édité par remi1995 le 27-05-2015 à 10:45:16