Mathc initiation/0064
Apparence
Installer ce fichier dans votre répertoire de travail.
x_curl.h |
|---|
/* ---------------------------------- */
/* save as x_curl.h */
/* ---------------------------------- */
/*
with F = Mi + Nj + Pk
| i j k |
| _x _y _z |
| M N P |
(curl F) = [(P_y-N_z)i + (M_y-P_z)j + (N_X-M_Y)k]
*/
/* ---------------------------------- */
v3d curl_ijk(
double (*P_M)(double x, double y, double z),
double (*P_N)(double x, double y, double z),
double (*P_P)(double x, double y, double z),
pt3d p
)
{
v3d curl;
curl.i = fxyz_y((*P_P),H,p) - fxyz_z((*P_N),H,p);
curl.j = fxyz_z((*P_M),H,p) - fxyz_x((*P_P),H,p);
curl.k = fxyz_x((*P_N),H,p) - fxyz_y((*P_M),H,p);
return(curl);
}
/* ---------------------------------- */
/* ---------------------------------- */
double Ncurl_ijk(
double (*P_M)(double x, double y, double z),
double (*P_N)(double x, double y, double z),
double (*P_P)(double x, double y, double z),
pt3d p
)
{
v3d curl;
curl.i = fxyz_y((*P_P),H,p) - fxyz_z((*P_N),H,p);
curl.j = fxyz_z((*P_M),H,p) - fxyz_x((*P_P),H,p);
curl.k = fxyz_x((*P_N),H,p) - fxyz_y((*P_M),H,p);
return(sqrt(curl.i*curl.i+
curl.j*curl.j+
curl.k*curl.k));
}
/* ---------------------------------- */
/* ---------------------------------- */