public class SGeometricIntersection
extends java.lang.Object
Le rayon étant paramétrisé dans le temps, la solution au intersection est le temps requis afin qu'un rayon intersection la géométrie. Un ensemble solution vide signifie qu'aucune intersection n'a été réalisé entre le rayon et la géométrie et un ensemble solution multiple signifie que le rayon peut intersecter la géométrie à plusieurs endroits (dont plusieurs temps).
Constructor and Description |
---|
SGeometricIntersection() |
Modifier and Type | Method and Description |
---|---|
static double[] |
infiniteTubeIntersection(SRay ray,
SVector3d r_tube,
SVector3d axis,
double R)
Méthode permettant d'évaluer l'intersection entre un rayon et un tube infini.
|
static double[] |
infiniteTwoConeIntersection(SRay ray,
SVector3d r_cone,
SVector3d axis,
double R,
double H)
Méthode permettant d'évaluer l'intersection entre un rayon et deux cônes infinis relié par leur pointe.
|
static double[] |
planeIntersection(SRay ray,
SVector3d r_plane,
SVector3d n_plane)
Méthode permettant d'évaluer l'intersection entre un rayon et un plan.
|
static double[] |
sphereIntersection(SRay ray,
SVector3d r_sphere,
double R)
Méthode permettant d'évaluer l'intersection entre un rayon et une sphère.
|
static double[] |
torusIntersection(SRay ray,
SVector3d r_torus,
SVector3d n_torus,
double r,
double R)
Méthode permettant d'évaluer l'intersection entre un rayon et un tore (beigne).
|
public static double[] planeIntersection(SRay ray, SVector3d r_plane, SVector3d n_plane)
ray
- - Le rayon à intersecter avec le plan.r_plane
- - La position de référence du plan.n_plane
- - La normale à la surface du plan.public static double[] sphereIntersection(SRay ray, SVector3d r_sphere, double R)
ray
- - Le rayon à intersecter avec la sphère.r_sphere
- - La position de la sphère.R
- - Le rayon de la sphère (doit être positif).public static double[] infiniteTubeIntersection(SRay ray, SVector3d r_tube, SVector3d axis, double R)
ray
- - Le rayon à intersecter avec le tube infini.r_tube
- - Une position sur l'axe central du tube infini.axis
- - L'axe du tube (doit être normalisé).R
- - Le rayon du tube (doit être positif).public static double[] infiniteTwoConeIntersection(SRay ray, SVector3d r_cone, SVector3d axis, double R, double H)
ray
- - Le rayon à intersecter avec les deux cônes.r_cone
- - Une position sur l'axe central des deux cônes où le rayon R a été défini.axis
- - L'axe des deux cônes dans la direction localisant la pointe du cône à partir de la position r_cone (doit être normalisé).R
- - Le rayon du cône à la position r_cone (doit être positif).H
- - La hauteur du cône étant définie comme la distance entre la position r_cone et la pointe des cônes (doit être positif).public static double[] torusIntersection(SRay ray, SVector3d r_torus, SVector3d n_torus, double r, double R)
ray
- - Le rayon à intersection avec le tore.r_torus
- - La position centrale du tore.n_torus
- - La normale perpendiculaire au plan du tore.r
- - Le rayon du cylindre courbé (doit être positif).R
- - Le rayon de révolution du cylindre formant le tore (doit être positif).