public class Gradient
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static int |
TRANSITION_ARC_03
Transition circulaire entre 0H et 3H : f(x) = sqrt(1 - x^2)
|
static int |
TRANSITION_ARC_36
Transition circulaire entre 3H et 6H : f(x) = 1 - sqrt(1 - x^2)
|
static int |
TRANSITION_ARC_69
Transition circulaire entre 6H et 9H : f(x) = 1 - sqrt(1 - (x-1)^2)
|
static int |
TRANSITION_ARC_90
Transition circulaire entre 9H et 12H : f(x) = sqrt(1 - (x-1)^2)
|
static int |
TRANSITION_GAUSSIAN_0001
Transition suivant une loi gaussienne [f(1) = 0.9999] : f(x) = 1 - e^(-9.21 * x^2)
|
static int |
TRANSITION_GAUSSIAN_001
Transition suivant une loi gaussienne [f(1) = 0.999] : f(x) = 1 - e^(-6.9 * x^2)
|
static int |
TRANSITION_GAUSSIAN_01
Transition suivant une loi gaussienne [f(1) = 0.99] : f(x) = 1 - e^(-4.6 * x^2)
|
static int |
TRANSITION_LINEAR
Transition linéaire suivant la fonction f(x) = x
|
static Vector3D |
X_ROTATION
Axe de rotations
|
static Vector3D |
Y_ROTATION
Y rotation
|
static Vector3D |
Z_ROTATION
Z rotation
|
Constructor and Description |
---|
Gradient()
Constructeur de l'objet Gradient
|
Gradient(int[] c,
double[] a,
double[] r)
Constructeur de l'objet Gradient
|
Gradient(int[] c,
double[] a,
double[] r,
int t)
Constructeur de l'objet Gradient
|
Modifier and Type | Method and Description |
---|---|
void |
appendRotation(double angle,
Vector3D axe)
Ajoute ensuite une transformation de type rotation à la matrice
selon un axe quelconque
|
void |
appendScale(double sx,
double sy,
double sz)
Ajout ensuite une transformation de type homothétie à la matrice
|
void |
appendTranslation(double tx,
double ty,
double tz)
Ajoute ensuite une transformation de type translation à la matrice
|
protected double |
evaluate(double x)
Corrige la valeur du pourcentage en fonction de la loi à suivre
|
double |
getLastAlpha() |
int |
getLinearPixelAt(double pcentX,
double pcentY,
double pcentZ) |
int |
getRadialPixelAt(double pcentX,
double pcentY,
double pcentZ)
Get the pixel value at ???
|
void |
reset()
Reprend tout à zéro
|
void |
setAlphas(double[] a)
Définir la transparence des pixels limites
|
void |
setCenter(Point3D p)
Définir le centre du gradient.
|
void |
setCenter(Vector3D c)
Définir le centre du gradient.
|
void |
setRatios(double[] r)
Définir le ratio des pixels limites
|
void |
setTransformation(GeomTransform3D gt)
Définir la matrice de transformation
|
void |
setTransition(int t)
Définir le type de transition
|
void |
setValues(int[] c)
Définir la valeur des pixels limites.
|
public static final int TRANSITION_LINEAR
public static final int TRANSITION_ARC_69
public static final int TRANSITION_ARC_90
public static final int TRANSITION_ARC_03
public static final int TRANSITION_ARC_36
public static final int TRANSITION_GAUSSIAN_01
public static final int TRANSITION_GAUSSIAN_001
public static final int TRANSITION_GAUSSIAN_0001
public static final Vector3D X_ROTATION
public static final Vector3D Y_ROTATION
public static final Vector3D Z_ROTATION
public Gradient()
public Gradient(int[] c, double[] a, double[] r)
c
- Valeur des pixels limitesa
- Opacité des pixels limites [0-1]r
- Ratios des pixels limites [0-1]public Gradient(int[] c, double[] a, double[] r, int t)
c
- Valeur des pixels limitesa
- Opacité des pixels limites [0-1]r
- Ratios des pixels limites [0-1]t
- Type de transitionpublic int getLinearPixelAt(double pcentX, double pcentY, double pcentZ)
pcentX
- pourcentage du gradient sur XpcentY
- pourcentage du gradient sur YpcentZ
- pourcentage du gradient sur Zpublic int getRadialPixelAt(double pcentX, double pcentY, double pcentZ)
pcentX
- pcentY
- pcentZ
- public double getLastAlpha()
public void reset()
public void setValues(int[] c)
c
- Tableau donnant la valeur des pixels intermédiairespublic void setAlphas(double[] a)
a
- Tableau donnant la valeur de l'opacité des pixels intermédiairespublic void setRatios(double[] r)
r
- Valeur comprise entre 0 et 1 indiquant la position sur le dégradé en pourcentpublic void setTransformation(GeomTransform3D gt)
gt
- public void setCenter(Vector3D c)
c
- Les coordonées du centre (0 = 0% et 1 = 100%)public void setCenter(Point3D p)
p
- Les coordonées du centre (0 = 0% et 1 = 100%)public void appendTranslation(double tx, double ty, double tz)
tx
- Translation selon Xty
- Translation selon Ytz
- Translation selon Zpublic void appendScale(double sx, double sy, double sz)
sx
- Valeur de multiplication de l'échelle sur Xsy
- Valeur de multiplication de l'échelle sur Ysz
- Valeur de multiplication de l'échelle sur Zpublic void appendRotation(double angle, Vector3D axe)
angle
- Angle de rotation (radian)axe
- Axe de rotation (quelconque)public void setTransition(int t)
t
- Type de transitionprotected double evaluate(double x)
x
- Valeur à corriger (entre 0 et 1)