Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#226 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Paraboles détournées » 22-02-2021 13:07:54
... pour la réponse au problème posé, on ne trouve que des morceaux de paraboles ...
Les frontières des zones colorées successives correspondent bien aux courbes cherchées, comme le confirme l'analogie des formes observées sur les images suivantes (dont l'une a été postée par un autre intervenant - jpp):

La discrétisation du paramètre de teinte (t) permet de faire apparaître le faisceau de courbes d'équation
k = Constante :
FUNCTION F_Couleur(t: Reel): Pixel; // t varie sur [-1 ; 1]
CONST M1 = 255; M2 = 130; Nc = 10; I_Nc = 1 / Nc; Kc = Nc + 0.999;
VAR j: Byte; p, q, r, s: Reel; Px: Pixel;
BEGIN
p:= Abs(t); j:= Floor(Kc * p); s:= I_Nc * j;
r:= 4 * s; p:= r * (1 - s); Px[2]:= Round(M1 * p);
q:= Sqrt(2 * s); IF (q>1) THEN q:= 1;
IF (t>0) THEN BEGIN
Px[1]:= Round(M1 * q); Px[3]:= Round(M2 * s)
END
ELSE BEGIN
Px[3]:= Round(M1 * q); Px[1]:= Round(M2 * s)
END;
Result:= Px
END;
#227 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Paraboles détournées » 22-02-2021 09:48:37
Le tracé des faisceaux de paraboles a été repris en utilisant une fonction d'échelle continue mais non linéaire, la teinte de la palette (variant conventionnellement entre (-1) et (+1)) étant désormais donnée par la fonction homographique:
t = (M2 - M1).u/((M1 + M2).u - 2.M1M2) .
Le zéro est en effet très éloigné de la médiane des valeurs extrêmes observées sur l'ensemble des deux graphes; on a dans le cas présent:
M1 = -72 , M2 = +445 .
Les coordonnées de l'origine dans l'image (de dimensions 361×361), l'ordonnée (Hf) du foyer sont ici données par les relations:
Xc = La DIV 2 , Yc = (2*Ha) DIV 5 , Hf = Ha DIV 5 .

La similitude des équations fait que la partie inférieure des graphes s'échange avec celle des graphes obtenus en replaçant (PH) par (y), et pour lesquels il n'y a plus de discontinuité de pente:

1°) L'équation PF = k - PH donne
... / ... et finalement: 2(a - sk).y = x2 + a2 - k2 .Il s'agit d'un faisceau de paraboles présentant une discontinuité de pente au niveau de l'axe horizontal (y = 0).
2°) On a désormais PF = PH + k ,
... / ... d'où: 2(a + sk).y = x2 + a2 - k2 .Résultat analogue: seul un terme change de signe.
#228 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Paraboles détournées » 20-02-2021 10:30:55
Bonjour,
Voici les faisceaux de paraboles d'équations k = PF - PH et k = PF + PH .
Valeurs positives du vert sombre au rouge, négatives du vert sombre au bleu (échelles différentes dans chacun des cas).
La courbe lilas est la parabole d'équation PF = PH (soit: k = 0 , en pratique: |k[ < 1).


#229 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Paraboles détournées » 19-02-2021 14:03:10
Bonjour,
... si P est un point du plan se projetant en H sur (d), alors l'ensemble des points P du plan vérifiant PF = PH est une parabole ... (et si F sur (d) ?)
Soit k un nombre réel > 0 ...1°) Quel est l'ensemble des points P vérifiant PF + PH = k ? On pourra prendre (d) : y = 0 et F(0;a), a réel. Et discuter un peu ...
2°) Pareil avec PF = PH + k ! ...
On a ici PF = √(x2 + (y - a)2) et PH = |y| = s.y , avec s = +1 si (y ≥ 0) sinon s = -1 .
Tout le reste en découle-
1°) L'équation PF = k - PH donne PF2 = (k - PH)2 , soit encore:
x2 + (y - a)2 = (k - |y|)2
x2 + a2 - 2a.y = k2 - 2sk.y (puisque s2 = 1)
et finalement: 2(a - sk).y = x2 + a2 - k2 .
Il s'agit d'un faisceau de paraboles présentant une discontinuité de pente au niveau de l'axe horizontal (y = 0).
2°) On a désormais PF = PH + k ,
ce qui conduit à:
x2 + (y - a)2 = (k + |y|)2
x2 - 2a.y + a2 = k2 + 2sk.y (pour la même raison qu'auparavant)
d'où: 2(a + sk).y = x2 + a2 - k2 .
Résultat analogue: seul un terme change de signe.
#230 Re : Le coin des beaux problèmes de Géométrie » Des équations et des cubes » 13-02-2021 10:28:54
Bonjour Bernard-maths,
Tu soulèves plusieurs questions relevant de la représentation des objets tridimensionnels.
... Lorsque je voulais représenter, justement cet objet, pour ne pas tracer les faces cachées, j'utilisai le produit scalaire d'un vecteur "de vue" avec les vecteurs normaux des faces. Lorsqu'il devenait >0, ou <0, selon sens du vecteur de vue, alors plus visible ...
C'est juste, mais ton critère n'intervient que lorsque l'on entreprend de ne représenter que les arêtes du polyèdre; si (Ni, Nj) désignent les normales aux faces adjacentes à l'arête considérée, le critère de visibilité de cette dernière est la vérification par les deux produits scalaires de la condition:
(Ni.OC) ≥ 0 OU (Nj.OC) ≥ 0 .
On a alors le choix entre une représentation "opaque", excluant le tracé des arêtes situées à l'arrière de l'objet, ou une représentation transparente ou semi-transparente liant le tracé des arêtes à la profondeur de leur milieu, donnée par le produit scalaire:
zkl = (OC.OIkl) = (1/2)(OC.(OAk + OAl)) ;
l'algorithme est dans ce cas relativement simple, et riche en diverses options.
L'avantage considérable du procédé que tu as initialement introduit est justement de dispenser le programmeur de l'identification et de l'inventaire les arêtes; il suffit alors de connaître l'orientation des normales aux faces, et les distances les séparant du centre.
De plus la détection de la face visible consiste à repérer l'endroit où la fonction caractéristique du polyèdre s'annule pour la première fois: ce qu'il peut y avoir derrière est alors dépourvu d'importance.
... Autre chose, le fait d'utiliser un vecteur "de vue", cela permet de changer la direction de venue de la lumière, et même d'envisager plusieurs sources différentes ! Ou de faire "tourner" l'objet ? ...
Tu as parfaitement raison sur ce point: je m'en suis résolument tenu à un polyèdre fixe dans le repère absolu (Oxyz), et à une perspzective à deux variables (λ, φ) définissant la position (C) de l'observateur et l'orientation du plan de l'image (u1, u2).
L'introduction des 3 produits scalaires dans la procédure de définition des couleurs InitC(...)
p:= Pscal(LstN[j], Vun1); u:= 1 + p;
q:= Pscal(LstN[j], Vun2); v:= 1 + q;
r:= Pscal(LstN[j], Vun3); w:= 1 + r;
... / ...
Px[1]:= Round(t * u); Px[2]:= Round(t * v);
Px[3]:= Round(t * w);
revient sommairement à considérer 3 projecteurs rouge, vert et bleu respectivement orientés selon les 3 directions (u1, u2, u3) du repère mobile.
J'aurais pu en effet envisager une ou plusieurs directions d'éclairage, distinctes de celle de la perspective, et simulant les effets physiques de diffusion et de réflexion de la lumière; mais l'on n'arrive à rien en abordant de front plusieurs problèmes difficiles, et le problème de géométrie analytique que tu as amené suffisait amplement.
La priorité revient à l'obtention d'un contraste satisfaisant au niveau des teintes et de la luminosité, afin de faire ressortir l'impression de profondeur.
... Alors la face jaune ? Et avec une sphère, pas facile je crois, il y a une infinité de facettes ...
Très simple au contraire, dans la mesure chaque point correspond à une face élémentaire d'orientation orthoradiale:
N(M) = (1/OM).OM .
La sphère permettrait de tester la qualité de l'éclairage, que je ne maîtrise pas très bien.
#231 Re : Le coin des beaux problèmes de Géométrie » Des équations et des cubes » 12-02-2021 09:29:21
La proportion des faces sombres peut être modulée par l'intervention d'un critère beaucoup moins restrictif, en comparant la somme des 3 produits scalaires (S = p + q + r) à un seuil (Slim) dont on peut choisir la valeur.
PROCEDURE InitC(VAR L_C: Tab_Px);
CONST M1 = 50; M2 = 255.449; Slim = -0.100;
VAR j, k: Byte; m, p, q, r, s, t, u, v, w: Reel; Px: Pixel;
BEGIN
FOR j:= 1 TO Nf2 DO
BEGIN
p:= Pscal(LstN[j], Vun1); u:= 1 + p;
q:= Pscal(LstN[j], Vun2); v:= 1 + q;
r:= Pscal(LstN[j], Vun3); w:= 1 + r;
IF (u>v) THEN m:= u ELSE m:= v; IF (m<w) THEN m:= w;
s:= p + q; IncR(s, r);
IF (s<Slim) THEN t:= M1 / m
ELSE t:= M2 / m;
Px[1]:= Round(t * u); Px[2]:= Round(t * v);
Px[3]:= Round(t * w); L_C[j]:= Px
END
END;
Voici ce que l'on obtient en prenant M1 = 50 (afin que l'assombrissement soit marqué), et pour
M1 = -0.100, 0.000, 0.200, 0.300, 0.400, 0.700
J'avoue ne pas expliquer la persistance de la face claire, en bas à gauche; la représentation d'une sphère montrerait beaucoup mieux la répartition de l'éclairement.
#232 Re : Le coin des beaux problèmes de Géométrie » Des équations et des cubes » 11-02-2021 14:43:29
Bonjour,
Voici le programme source réalisant la mise en perspective du polyèdre à 26 faces:
PROGRAM Polyedre;
(*HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
Représentation en perpective des faces d'un polyèdre
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH*)
USES Crt, E_Texte, U_Copie_1F, Math, U_Math;
CONST N_Face = 26; Nf2 = N_Face DIV 2; // Nf2 = 13
TYPE Ve3D = RECORD x, y, z: Reel END;
Fxyz = FUNCTION(h, x, y, z: Reel): Reel;
Tab_Fxyz = ARRAY[1..N_Face] OF Fxyz;
Tab_Nf = ARRAY[1..Nf2] OF Ve3D;
Tab_Px = ARRAY[1..Nf2] OF Pixel;
VAR Vun1, Vun2, Vun3: Ve3D;
LstF: Tab_Fxyz;
LstN: Tab_Nf;
LstC: Tab_Px;
(*HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
Equations des faces de polyèdre
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH*)
FUNCTION F13(h, x, y, z: Reel): Reel;
VAR p, q, r, s: Reel;
BEGIN
r:= h - z; s:= x + y; p:= Abs(r + s);
r:= h + z; q:= Abs(r - s);
r:= p + q; s:= 2 * h;
Result:= r - s
END;
FUNCTION F12(h, x, y, z: Reel): Reel;
VAR p, q, r, s: Reel;
BEGIN
r:= h - y; s:= z + x; p:= Abs(r + s);
r:= h + y; q:= Abs(r - s);
r:= p + q; s:= 2 * h;
Result:= r - s
END;
FUNCTION F11(h, x, y, z: Reel): Reel;
VAR p, q, r, s: Reel;
BEGIN
r:= h - x; s:= y + z; p:= Abs(r + s);
r:= h + x; q:= Abs(r - s);
r:= p + q; s:= 2 * h;
Result:= r - s
END;
FUNCTION F10(h, x, y, z: Reel): Reel;
VAR p, q, r, s: Reel;
BEGIN
r:= h - x; s:= y + z; p:= Abs(r - s);
r:= h + x; q:= Abs(r + s);
r:= p + q; s:= 2 * h;
Result:= r - s
END;
FUNCTION F9(h, x, y, z: Reel): Reel;
VAR p, q, r, s: Reel;
BEGIN
s:= z - x; p:= Abs(h - s); q:= Abs(h + s);
r:= p + q; s:= 2 * h; Result:= r - s
END;
FUNCTION F8(h, x, y, z: Reel): Reel;
VAR p, q, r, s: Reel;
BEGIN
s:= z + x; p:= Abs(h - s); q:= Abs(h + s);
r:= p + q; s:= 2 * h; Result:= r - s
END;
FUNCTION F7(h, x, y, z: Reel): Reel;
VAR p, q, r, s: Reel;
BEGIN
s:= y - z; p:= Abs(h - s); q:= Abs(h + s);
r:= p + q; s:= 2 * h; Result:= r - s
END;
FUNCTION F6(h, x, y, z: Reel): Reel;
VAR p, q, r, s: Reel;
BEGIN
s:= y + z; p:= Abs(h - s); q:= Abs(h + s);
r:= p + q; s:= 2 * h; Result:= r - s
END;
FUNCTION F5(h, x, y, z: Reel): Reel;
VAR p, q, r, s: Reel;
BEGIN
s:= x - y; p:= Abs(h - s); q:= Abs(h + s);
r:= p + q; s:= 2 * h; Result:= r - s
END;
FUNCTION F4(h, x, y, z: Reel): Reel;
VAR p, q, r, s: Reel;
BEGIN
s:= x + y; p:= Abs(h - s); q:= Abs(h + s);
r:= p + q; s:= 2 * h; Result:= r - s
END;
FUNCTION F3(h, x, y, z: Reel): Reel;
VAR p, q, r, s: Reel;
BEGIN
p:= Abs(h - z); q:= Abs(h + z);
r:= p + q; s:= 2 * h;
Result:= r - s
END;
FUNCTION F2(h, x, y, z: Reel): Reel;
VAR p, q, r, s: Reel;
BEGIN
p:= Abs(h - y); q:= Abs(h + y);
r:= p + q; s:= 2 * h;
Result:= r - s
END;
FUNCTION F1(h, x, y, z: Reel): Reel;
VAR p, q, r, s: Reel;
BEGIN
p:= Abs(h - x); q:= Abs(h + x);
r:= p + q; s:= 2 * h;
Result:= r - s
END;
PROCEDURE InitF(VAR L_F: Tab_Fxyz);
BEGIN
L_F[ 1]:= F1; L_F[ 2]:= F2; L_F[ 3]:= F3;
L_F[ 4]:= F4; L_F[ 5]:= F5; L_F[ 6]:= F6;
L_F[ 7]:= F7; L_F[ 8]:= F8; L_F[ 9]:= F9;
L_F[10]:= F10; L_F[11]:= F11; L_F[12]:= F12; L_F[13]:= F13;
END;
(*HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
Initialisation des fonctions
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH*)
FUNCTION CombLin3V(C1, C2, C3: Z_32; V1, V2, V3: Ve3D): Ve3D;
VAR W: Ve3D;
BEGIN
WITH W DO
BEGIN
x:= C1 * V1.x; IncR(x, C2 * V2.x); IncR(x, C3 * V3.x);
y:= C1 * V1.y; IncR(y, C2 * V2.y); IncR(y, C3 * V3.y);
z:= C1 * V1.z; IncR(z, C2 * V2.z); IncR(z, C3 * V3.z)
END;
Result:= W
END;
FUNCTION F_Face(A1, B1, X1, Y1, Z1: Z_32): Byte;
CONST Seuil = 1E-10;
VAR j, Jf: Byte; A2, A3: Z_32; r: Reel; W: Ve3D;
BEGIN
W:= CombLin3V(X1, Y1, Z1 + 1, Vun1, Vun2, Vun3);
Jf:= 0; A2:= A1 + B1; A3:= A2 + B1;
FOR j:= 1 TO 3 DO BEGIN
r:= LstF[j](A1, W.x, W.y, W.z);
IF (r>Seuil) THEN Jf:= j
END;
FOR j:= 4 TO 9 DO BEGIN
r:= LstF[j](A2, W.x, W.y, W.z);
IF (r>Seuil) THEN Jf:= j
END;
FOR j:= 10 TO Nf2 DO BEGIN
r:= LstF[j](A3, W.x, W.y, W.z);
IF (r>Seuil) THEN Jf:= j
END;
Result:= Jf
END;
FUNCTION F_Polyedre(A1, B1, X1, Y1, Z1: Z_32): Reel;
VAR j: Byte; A2, A3: Z_32; s: Reel; W: Ve3D;
BEGIN
W:= CombLin3V(X1, Y1, Z1, Vun1, Vun2, Vun3);
s:= 0; A2:= A1 + B1; A3:= A2 + B1;
FOR j:= 1 TO 3 DO IncR(s, LstF[j](A1, W.x, W.y, W.z));
FOR j:= 4 TO 9 DO IncR(s, LstF[j](A2, W.x, W.y, W.z));
FOR j:= 10 TO Nf2 DO IncR(s, LstF[j](A3, W.x, W.y, W.z));
Result:= s
END;
PROCEDURE Calc_Mat_Im2(La, Ha: Z_32; VAR Ma2: Tab_Pix);
CONST Seuil = 1E-10; P000: Pixel = (0, 0, 0);
VAR Icoul: Byte;
Apol,Bpol, Rcen, Xcen, Ximg, Xm, Ycen, Yimg, Ym, Zimg, Zmin: Z_32;
u: Reel; Px: Pixel;
BEGIN
Xcen:= La DIV 2; Ycen:= Ha DIV 2;
IF (La<Ha) THEN Rcen:= Xcen
ELSE Rcen:= Ycen;
Zmin:= -2 * Rcen;
Apol:= Round(0.8628 * Rcen); Bpol:= Round(0.3574 * Rcen);
FOR Xm:= 0 TO (La - 1) DO
BEGIN
Ximg:= Xm - Xcen;
FOR Ym:= 0 TO (Ha - 1) DO
BEGIN
Yimg:= Ym - Ycen; Zimg:= 0; We(10, 40, Xm, 6);
REPEAT
Dec(Zimg);
u:= F_Polyedre(Apol, Bpol, Ximg, Yimg, Zimg + Rcen)
UNTIL ((u<Seuil) OR (Zimg=Zmin));
IF (Zimg=Zmin) THEN Px:= P000
ELSE BEGIN
Icoul:= F_Face(Apol, Bpol, Ximg, Yimg,
Zimg + Rcen);
Px:= LstC[Icoul]
END;
Ma2[Xm,Ym]:= Px
END
END
END;
(*HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
Détermination de la couleur des faces en fonction de leur orientation
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH*)
FUNCTION Pscal(W1, W2: Ve3D): Reel;
VAR p: Reel;
BEGIN
p:= W1.x * W2.x; IncR(p, W1.y * W2.y);
IncR(p, W1.z * W2.z); Result:= p
END;
PROCEDURE InitC(VAR L_C: Tab_Px);
CONST M1 = 240; M2 = 255.449;
VAR j, k: Byte; m, p, q, r, s, u, v, w: Reel; Px: Pixel;
BEGIN
FOR j:= 1 TO Nf2 DO
BEGIN
p:= Pscal(LstN[j], Vun1); u:= 1 + p;
q:= Pscal(LstN[j], Vun2); v:= 1 + q;
r:= Pscal(LstN[j], Vun3); w:= 1 + r;
IF (u>v) THEN m:= u ELSE m:= v; IF (m<w) THEN m:= w;
IF (p<0) OR ((q<0) OR (r<0)) THEN s:= M1 / m
ELSE s:= M2 / m;
Px[1]:= Round(u * s); Px[2]:= Round(v * s);
Px[3]:= Round(w * s); L_C[j]:= Px
END
END;
PROCEDURE InitN(VAR L_N: Tab_Nf);
CONST g = 0.707106781187; // g = Rac(1/2)
h = 0.577350269190; // h = Rac(1/3)
Nf: Tab_Nf = ((x:1; y:0; z:0),
(x:0; y:1; z:0),
(x:0; y:0; z:1),
(x: g; y: g; z: 0), (x:-g; y: g; z: 0),
(x: 0; y: g; z: g), (x: 0; y:-g; z: g),
(x: g; y: 0; z: g), (x: g; y: 0; z:-g),
(x: h; y: h; z: h), (x:-h; y: h; z: h),
(x: h; y:-h; z: h), (x: h; y: h; z:-h));
BEGIN
L_N:= Nf
END;
(*HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
Orientation spatiale du nouveau repère
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH*)
CONST LambdaDeg = 10.0; PhiDeg = 25.0;
PROCEDURE Calc_U123(VAR U_1, U_2, U_3: Ve3D);
CONST DegRad = Pi / 180;
VAR Clam, Cphi, Slam, Sphi: Reel; W: Ve3D;
BEGIN
SinCos(LambdaDeg * DegRad, Slam, Clam);
SinCos(PhiDeg * DegRad, Sphi, Cphi);
W.x:= -Sphi; W.y:= Cphi; W.z:= 0; U_1:= W;
W.x:= - Slam * Cphi; W.y:= - Slam * Sphi; W.z:= Clam; U_2:= W;
W.x:= Clam * Cphi; W.y:= Clam * Sphi; W.z:= Slam; U_3:= W
END;
(*HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
Programme principal
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH*)
BEGIN
Copie_F1;
Calc_U123(Vun1, Vun2, Vun3);
InitF(LstF);
InitN(LstN);
InitC(LstC);
Calc_Mat_Im2(Larg_Image, Haut_Image, Matrice_2);
Creation_F2
END.
J'ai perdu beaucoup de temps dans la recherche de la meilleure (?) fonction retournant la couleur des faces en fonction de l'orientation de leur norme; il faut préserver les contrastes ainsi qu'un minimum de luminosité, mais c'est à la limite affaire de choix personnel.
Voici ce que l'on obtient pour diverses valeurs de la constante (M1) présente dans la procédure InitC(...):
M1 = 130, 160, 180, 200, 220, 240
#233 Re : Café mathématique » Nouvelle table d'addition et multiplication si on base 2=(1bit,1bit) » 08-02-2021 18:54:44
#234 Re : Café mathématique » Nouvelle table d'addition et multiplication si on base 2=(1bit,1bit) » 08-02-2021 08:44:37
Bonjour,
... pourriez vous continue ma table de multiplication jusque 10 chiffre comme sur les exemples ...
// ... Peut être avec une simulation je peux mesurer ses nombres dans chaque base pour le cas ou en note 0= (0,0) et 1=(0,1) et 2 =(1,0) et 3=(1,1) et les autres cas.
alors comment retrouver ses résultats mathématiquement qui peux donner la simulation?
Pour afficher une opération (addition ou multiplication), le plus simple est de traduire dans le langage de ton choix les instructions suivantes (en pseudo-code):
Saisir (b)
Calculer c = a + b (ou a * b)
Afficher (a) en base (N)
Afficher (b) en base (N)
Afficher (c) en base (N)
Une autre solution consiste à effectuer directement le calcul sur les chaînes de caractères à (k) chiffres représentant les opérandes (a, b) en base (N); il s'agit d'une généralisation des algorithmes qu'apprennent les écoliers pour effectuer une addition ou une multiplication en notation décimale. Cependant le codage est nettement plus difficile , et demande une maîtrise minimale de l'arithmétique modulaire et d'un langage de programmation.
Cette dernière condition est incontournable: faute de connaître un langage, tu en seras toujours réduit aux calculs manuels, forcément très limités.
#235 Re : Le coin des beaux problèmes de Géométrie » Des équations et des cubes » 06-02-2021 13:13:54
Bonjour,
Je suis parvenu à mettre sur pied l'algorithme mettant en œuvre les notions précédentes, après une période chargée.
Je remercie Bernard-maths pour l'initiation de cette discussion, et les idées originales qu'il y a développées, qui m'ont permis d'envisager une nouvelle représentation des surfaces polyédriques
J'ai commencé très modestement par un cube, parce qu'il fallait boucler un programme assez lourd, et le purger de tous les bogues présents.

Le rhombicuboctaèdre présente un intérêt particulier en raison de la présence de 3 sortes de faces d'orientations remarquables; elles sont en effet normales
- soit aux axes du repère (axes quaternaires),
- soit à ses bissectrices (axes binaires),
- soit enfin aux axes ternaires (dans le cas des faces triangulaires).

https://fr.wikipedia.org/wiki/Petit_rho … a%C3%A8dre
https://mathcurve.com/polyedres/rhombic … edre.shtml
Les deux objets sont vus sous des perspectives voisines:
latitude (λ) = 10° , longitude (φ) = 20° puis 25° .
Il faut reprendre la définition des couleurs, ici arbitrairement reliées à l'orientation des normales aux faces dans le repère mobile (C, u1, u2, u3).
#236 Re : Café mathématique » Configuration possible d'un dé a 100 face opposé » 02-02-2021 10:49:47
J'oubliais:
4°) La bipyramide basée sur un polygone régulier à 50 côtés, présentant 100 faces triangulaires identiques, et pour laquelle on a:
N = 50 + 2 = 52
F = 2 * 50 = 100
A = 3 * 50 = 150
soit: N + F - A = 2 ;
mêmes résultats pour l'antidiamant d'ordre 50 .
5°) La troncature symétrique d'une bipyramide ou d'un antidiamant par deux plans parallèles équidistants du centre fait apparaître deux faces normales à l'axe de symétrie: on obtient à partir d'un polygone à 49 côtés:
N = 49 * 3 = 147
F = 2 * 49 + 2 = 100.
A = 5 * 49 = 245
soit: N + F - A = 2 .
Voir https://mathcurve.com/polyedres/bipyram … mide.shtml
https://mathcurve.com/polyedres/bipyram … mant.shtml
#237 Re : Café mathématique » Configuration possible d'un dé a 100 face opposé » 02-02-2021 08:12:18
Bonjour,
... Quelles sont les configurations possibles d'un dé à 100 faces, où chaque face est opposée à une autre face de valeur 0 ou 1, pour avoir toujours toutes les faces opposées égales à 1 ? ...
On peut envisager:
1°) Un prisme droit basé sur un polygone régulier à 98 côtés, pour lequel les nombres respectifs de sommets, de faces et d'arêtes présentent les valeurs:
N = 98 * 2 = 196
F = 98 + 2 = 100
A = 98 * 3 = 294
et vérifient la relation d'Euler: N + F - A = 2 .
2°) Un antiprisme basé sur deux polygones réguliers à 49 côtés, pour lequel on a:
N = 49 * 2 = 98
F = 2 * 49 + 2 = 100
A = 49 * 4 = 196
et qui vérifie de même:
N + F - A = 2 .
3°) L'adjonction de deux sommets supplémentaires sur l'axe de symétrie permet d'accoler des pyramides aux prismes précédents:
a) à partir d'un prisme droit construit sur un polygone régulier: pas de solution dans le cas présent, parce que le le nombre de faces est alors un multiple de 3;
b) à partir d'un antiprisme construit sur polygone régulier à 25 côtés, on obtient un polyèdre à faces toutes triangulaires, caractérisé par:
N = 25 + 25 + 2 = 52
F = 25 * 4 = 100
A = 25*(2 + 2 + 2) = 150
et pour lequel on a encore :
N + F - A = 2 .
Voir https://fr.wikipedia.org/wiki/Th%C3%A9o … rtes-Euler
https://mathcurve.com/polyedres/geode/geode.shtml
https://fr.wikipedia.org/wiki/G%C3%A9ode_(g%C3%A9om%C3%A9trie)#%C3%80_partir_d'un_octa%C3%A8dre_r%C3%A9gulier
En choisissant une valeur appropriée pour le rapport de la distance (h) séparant les plans des 2 polygones au rayon (R) de leur cercle circonscrit, on peut faire en sorte que toutes les faces soient vues depuis le centre sous le même angle solide, donc que chacune d'entre elles présentent la même probabilité de sortie lors du lancement du "dé" ainsi constitué.
#238 Re : Le coin des beaux problèmes de Géométrie » Des équations et des cubes » 30-01-2021 18:11:09
#239 Re : Le coin des beaux problèmes de Géométrie » Des équations et des cubes » 30-01-2021 17:55:33
#240 Re : Entraide (supérieur) » Integrale » 29-01-2021 08:47:24
Bonjour,
Je crois qu'on a répondu dès le début de l'échange (#5) à la question:
... Si tu dérives par rapport à $R$ la relation $\displaystyle \int_0^R f(x) \, dx = \frac{R²}{2}$ tu devrais répondre à ta question ...
et que le piège à éviter est celui de la notation.
Soit la fonction: $ g(x) = \displaystyle \int_0^x f(t) \, dt = \frac{x²}{2}$ ;
il vient par dérivation: $ g'(x) = f(x) = x $ ;
Il n'y a donc qu'une seule solution pour la fonction en cause.
#241 Re : Le coin des beaux problèmes de Géométrie » Des équations et des cubes » 27-01-2021 16:12:59
… Je remercie particulièrement Wiwaxia, qui me supporte (aux 2 sens du terme), puisqu’il traduit et complète mes idées avec de beaux dessins piochés ou fabriqués …
L'agrément est partagé, parce que ton approche géométrique m'a permis de découvrir les équations aux valeurs absolues dont je n'avais qu'une connaissance très anecdotique, et qui gardent une simplicité surprenante en l'absence d'un centre de symétrie. C'est apparemment le chemin d'accès privilégié à la représentation d'une surface continue, résultant de l'assemblage de portions planes.
... Moi je veux pouvoir calculer une équation de cube, quelle que soit sa position dans le repère. Evidemment il ne faut pas rêver, et il faut s’attendre à obtenir des équations à rallonge ! ...
C'est aussi pour chacun une nécessité incontournable: seule une vue en perspective appropriée permet d'apprécier la forme réelle d'un objet..
Quand à la complexité des calculs, la programmation s'en charge: il est sans intérêt (et royalement assommant) de développer les résultats consécutifs à une rotation dans l'espace.
À ce stade faudrait-il peut-être que tu choisisses de t'investir dans un langage autre que Geogebra (dont tu es déjà familier): Python (il y a des experts sur ce site), Pascal (dont les rudiments te reviendront très vite), Scilab (?), POV Ray ... il faudrait connaître les possibilités picturales de chacun des logiciels.
# La définition d'un polyèdre convexe comportant (N) sommets et (F) faces suppose la connaissance
- des (N) vecteurs définissant la position des sommets,
- des (F) vecteurs unitaires normaux à chacune des faces,
ainsi que de le tableau des (A) arêtes mentionnant les sommets (i, j) reliés, et les faces (k,l) qu'elles séparent.
Faces et arêtes peuvent se déduire de l'ensemble des sommets par un algorithme monstrueux, mais heureusement contournable par un inventaire visuel dans les cas les plus simples.
Le polyèdre est ainsi caractérisé par une sorte d'"oursin", tableau de (N + F) vecteurs que l'on peut éventuellement faire tourner dans l'espace.
# Deux procédés permettent d'envisager une mise en perspective de l'objet:
a) deux rotations successives autour d'un premier axe (par ex. y'y) puis d'un deuxième (par ex. z'z), suivie d'une projection orthogonale parallèlement au troisième (x'x) correspondent au produit de la matrice initiale (M) par deux matrices de rotation (ici Ry, Rz) d'expression très simple (matrices 3 ×3 à 9 éléments réels):
M' = Rz*(Ry*M) ;
le tracé des arêtes est alors immédiat; la coloration des faces demande un inventaire de triangles;
b) la mise en place d'un "observateur" (la caméra virtuelle visionnant les "scènes 3D"), dont l'orientation spatiale est définie par deux coordonnées géographiques, permet la projection orthogonale du polyèdre étudié sur un plan mobile; elle apparaît bien adaptée au cas présent, où l'équation de la surface est déterminée une fois pour toutes.
# Il se trouve qu'après téléchargement de la dernière version (7.04) de LibreOffice, j'ai découvert la fonction permettant l'utilisation rapide des instructions LaTex (Insertion/Objet/Formule), ce qui m'a permis d'entreprendre la rédaction d'un nouveau texte; j'y ai consacré l'après-midi du samedi (sans compter les corrections qui ont suivi), bien que la syntaxe de ce langage soit paraît-il simple et évidente - il s'agit sans doute là de l'optimisme avec lequel on entretient le moral des armées.
La mise en ligne sera faite dès que possible.
#242 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Problème mathématique à résoudre » 25-01-2021 10:35:27
Bonjour,
Il vient, en posant h = √109601 :
(1) B = AC²
(2) h = AC
(3) hC = B d'où: B = AC² (inutile)
(4) h² = hAC d'où: h = AC (inutile)
(5) h² C= hB d'où: B = hC (inutile)
(6) h² = A²C² d'où: h = AC (inutile)
Il ne reste donc que 2 équations indépendantes (1, 2) pour 3 inconnues (A, B, C); il y a donc 1 indétermination:
B = hC , A = h/C .
En tenant de la restriction imposée
... Je précise que l'on recherche des solutions non nulles et non égales à un ou à moins un.
Je précise également que A et B sont des nombres entiers non égaux ...
ainsi que de l'égalité AB = h² = 109601 = 127*863 (facteurs premiers), il vient (en se limitant aux couples (A, B > A):
# A = 1 ; B = 109601 (solution non retenue);
# A = 127 ; B = 863 .
#243 Re : Entraide (collège-lycée) » Trouver x tel que (x+1)ln(2x+1)=xln(3x) » 25-01-2021 10:05:52
Je redécouvre la fonction donnée dans le titre
Trouver x tel que (x+1)ln(2x+1)=xln(3x)
et qui n'a qu'un rapport lointain avec la précédente.
Pour l'équation x = Ln(2x + 1)/(Ln(3x) - Ln(2x + 1))
l y a apparemment 2 solutions: 0 (à la limite), et a > 1.
On trouve par la même méthode, et en partant de x0 = 2: xk - xk-1 = 0 à partir de k = 17 ,
et a = 8.258 799 668 915 4 .
#244 Re : Entraide (collège-lycée) » Trouver x tel que (x+1)ln(2x+1)=xln(3x) » 25-01-2021 09:32:16
Bonjour,
L'équation A.x.lnx + B.x + C = 0 peut aussi s'écrire x = -C/(A.Ln(x) + B) pour tout (x) non nul et différent de exp(-B/A), ce dernier cas particulier entraînant d'ailleurs C = 0 .
La solution approchée peut être donnée par la limite de la suite itérative uk+1 = -C/(A.Ln(uk) + B) .
La condition de convergence d'une suite vérifiant la relation de récurrence uk+1 = F(uk) est |F'(x)| < 1 .
Exemple numérique: A = 3 , B = 5 , C = -7 , x0 = 1 :
la limite est L = 1.239 975 208 255 0 .
#245 Re : Le coin des beaux problèmes de Géométrie » Des équations et des cubes » 21-01-2021 20:23:05
... j'ai repris les coordonnées de Mathcurve, et on retrouve la même équation ! ...
Je ne dis pas que c'est faux, mais seulement que c'est moins simple (dans le cas tout au moins du cuboctaèdre).
Les données les plus immédiates dans le problème actuel, ce sont les coordonnées des sommets.
#246 Re : Le coin des beaux problèmes de Géométrie » Des équations et des cubes » 21-01-2021 16:36:09
Dans le cas du cube, de l'octaèdre et d'un certain nombre de solides apparentés, il est plus simple de faire intervenir l'une des coordonnées (ici h).
Dans le cas du cuboctaèdre, les distances sont effectivement:
d1 = h/√2 ; d2 = (2/3)h√3 = 2h/√3 .
#247 Re : Le coin des beaux problèmes de Géométrie » Des équations et des cubes » 21-01-2021 15:13:21
Le premier lien conduit au document en deux clics; peut-être pouvait tu donner un lien plus direct, pointant sur l'adresse de l'image ?
https://www.cjoint.com/doc/21_01/KAvmul … -01-21.pdf
Après expérimentation, ça marche !
Quand au second, je ne sais pas ouvrir un fichier ggb.
Une copie d'écran (technique à laquelle je suis rôdé) fournit une image de bonne qualité.
Dans ton texte, je n'ai pas compris d'où viennent les termes irrationnels (√2, √3) - je n'ai pas eu le temps d'approfondir ...
#248 Re : Le coin des beaux problèmes de Géométrie » Des équations et des cubes » 21-01-2021 11:12:44
Bonjour,
Dans le repère associé au cuboctaèdre centré sur l'origine, les 12 sommets admettent pour coordonnées respectives:
E(0, h, h) F(0, -h, h) G(0, -h, -h) H(0, h, -h)
A'(-h, h, 0) B'(-h, 0, h) C'(-h, -h, 0) D'(-h, 0, -h)

Le solide possède un centre de symétrie (O), de sorte que les faces sont deux à deux parallèles.
Il y a en effet
a) trois paires de faces carrées
# ABCD (et A'B'C'D'), vérifiant l'équation x = ±h ;
# AHA'E (et CGC'F), vérifiant l'équation y = ±h ;
# BEB'F (et DHD'G), vérifiant l'équation z = ±h ;
et auxquelles on peut associer les fonctions:
F1(x, y, z) = |x/h - 1| + |x/h + 1| - 2 ,
F2(x, y, z) = |y/h - 1| + |y/h + 1| - 2 ,
F3(x, y, z) = |z/h - 1| + |z/h + 1| - 2 ;
b) quatre paires de faces triangulaires
# AEB (et C'GD'), vérifiant l'équation x + y + z = ±2h ;
# BFC (et D'HA'), vérifiant l'équation x - y + z = ±2h ;
# CGD (et A'EB'), vérifiant l'équation z - x + y = ±2h ;
# DHA (et B'FC'), vérifiant l'équation y - z + x = ±2h ;
et auxquelles on peut associer les fonctions:
F4(x, y, z) = |(x + y + z)/2h - 1| + |(x + y + z)/2h + 1| - 2 ,
F5(x, y, z) = |(x - y + z)/2h - 1| + |(x - y + z)/2h + 1| - 2 ,
F6(x, y, z) = |(z - x + y)/2h - 1| + |(z - x + y)/2h + 1| - 2 ,
F7(x, y, z) = |(y - z + x)/2h - 1| + |(y - z + x)/2h + 1| - 2 .
La surface du polyèdre admet donc pour équation:
F(x, y, z) = F1(x, y, z) + F2(x, y, z) + F3(x, y, z) + F4(x, y, z) + F5(x, y, z) + F6(x, y, z) + F7(x, y, z) = 0 .
Pour ce qui est de sa représentation, c'est une autre paire de manches ...
#249 Re : Le coin des beaux problèmes de Géométrie » Des équations et des cubes » 20-01-2021 23:02:45
Bonsoir,
Voici les 3 bandes à bords parallèles dont l'intersection constitue la zone hexagonale:

La transposition du procédé à un polyèdre ne pose pas de problème théorique; sa représentation par contre est beaucoup plus ardue,car il faut envisager la projection du solide sur un plan d'orientation quelconque, et définir une couleur locale en fonction de la normale à la surface considérée.
Cordialement,
Wiwaxia.
#250 Re : Le coin des beaux problèmes de Géométrie » Des équations et des cubes » 20-01-2021 19:03:29
... 'on est dans un repère du plan d'origine C, et que les coordonnées des points sont : A1(5,-1), A2(4,3), A3(2,4), A4(-5,1), A5(-4,-3) et A6(-2,-4) ...
C'est chose faite.

Le tracé des arêtes, le pointage des sommets sont indépendants du repérage du domaine polygonal.
PROGRAM Xxxxxx;
USES Crt, E_Texte, U_Copie_1F, U_Math;
CONST Ns2 = 3; Nsomm = 2 * Ns2;
TYPE Tab_E = ARRAY[1..Nsomm] OF Z_32;
Ve_2E = RECORD x, y: Z_32 END;
Tab_V = ARRAY[1..Nsomm] OF Ve_2E;
CONST LstX: Tab_E = ( 5, 4, 2, -5, -4, -2);
LstY: Tab_E = (-1, 3, 4, 1, -3, -4);
VAR Polygone: Tab_V;
(*HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
Trac‚ des sommets
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH*)
PROCEDURE Croix(L_1, H_1, Xc, Yc, Lc: Z_32; VAR Ma2: Tab_Pix);
CONST CoulS: Pixel = (255, 50, 50);
VAR x, Xmax, Xmin, y, Ymax, Ymin: Z_32;
BEGIN
Xmin:= Xc - Lc; IF (Xmin<0) THEN Xmin:= 0;
Xmax:= Xc + Lc; IF (Xmax>L_1) THEN Xmax:= L_1;
Ymin:= Yc - Lc; IF (Ymin<0) THEN Ymin:= 0;
Ymax:= Yc + Lc; IF (Ymax>H_1) THEN Ymax:= H_1;
FOR x:= Xmin TO Xmax DO Ma2[x, Yc]:= CoulS;
FOR y:= Ymin TO Ymax DO Ma2[Xc, y]:= CoulS
END;
PROCEDURE Trace_S(La, Ha: Z_32);
VAR k: Byte; Ha1, La1: Z_32;
BEGIN
La1:= La - 1; Ha1:= Ha - 1;
FOR k:= 1 TO Nsomm DO
Croix(La1, Ha1, Polygone[k].x, Polygone[k].y, 20, Matrice_2)
END;
(*HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
Trac‚ des arˆtes
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH*)
PROCEDURE Segment(X1, Y1, X2, Y2: Z_32; VAR Ma2: Tab_Pix);
CONST CoulA: Pixel = (50, 255, 50);
VAR Dx, Dy, k, Np, Xm, Ym: Z_32; Kx, Ky: Reel;
BEGIN
Dx:= X2 - X1; Dy:= Y2 - Y1;
Np:= 1; Inc(Np, Abs(Dx)); Inc(Np, Abs(Dy));
Kx:= Dx / Np; Ky:= Dy / Np;
FOR k:= 0 TO Np DO
BEGIN
Xm:= X1; Inc(Xm, Round(k * Kx));
Ym:= Y1; Inc(Ym, Round(k * Ky));
Ma2[Xm, Ym]:= CoulA
END
END;
PROCEDURE Trace_A;
VAR i, j: Byte;
BEGIN
FOR i:= 1 TO Nsomm DO
BEGIN
j:= i MOD Nsomm; Inc(j);
Segment(Polygone[i].x, Polygone[i].y,
Polygone[j].x, Polygone[j].y, Matrice_2)
END
END;
(*HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
Domaine du polygone
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH*)
TYPE Ve2R = RECORD Cx, Cy: Reel END;
Tab_Kxy = ARRAY[1..Ns2] OF Ve2R;
VAR Xcen, Ycen: Z_32; Lst_Cxy: Tab_Kxy;
FUNCTION Fxy(Kx, Ky: Reel; x, y: Z_32): Reel;
VAR p, q, r: Reel;
BEGIN
p:= Kx * x; q:= Ky * y; r:= p + q;
p:= Abs(r - 1); q:= Abs(r + 1); r:= p + q;
Result:= r - 2
END;
PROCEDURE Calc_Mat_Im2(La, Ha, Xc, Yc: Z_32; VAR Ma2: Tab_Pix);
CONST Seuil = 1E-9;
Pzero: Pixel = (0, 0, 0);
Cfond: Pixel = (0, 0, 255);
VAR k: Byte; X1, Xm, Y1, Ym: Z_32; s: Reel; Px: Pixel;
BEGIN
FOR Xm:= 0 TO (La - 1) DO
BEGIN
X1:= Xm - Xc;
FOR Ym:= 0 TO (Ha - 1) DO
BEGIN
Y1:= Ym - Yc; s:= 0;
FOR k:= 1 TO Ns2 DO
IncR(s, Fxy(Lst_Cxy[k].Cx, Lst_Cxy[k].Cy, X1, Y1));
IF (S<Seuil) THEN Px:= Cfond ELSE Px:= Pzero;
Ma2[Xm,Ym]:= Px
END
END
END;
PROCEDURE Calc_Coef(Xc, Yc: Z_32; VAR Pol_: Tab_V; VAR L_Cxy: Tab_Kxy);
VAR i, j: Byte; Dij, Dx, Dy, p, q: Z_32;
BEGIN
FOR i:= 1 TO Ns2 DO
BEGIN
j:= i + 1;
Dx:= Pol_[i].x - Xc; Dy:= Pol_[j].y - Yc; p:= Dx * Dy;
Dx:= Pol_[j].x - Xc; Dy:= Pol_[i].y - Yc; q:= Dx * Dy;
Dij:= p - q;
L_Cxy[i].Cx:= (Pol_[j].y - Pol_[i].y) / Dij;
L_Cxy[i].Cy:= (Pol_[i].x - Pol_[j].x) / Dij
END
END;
(*HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
Initialisation du polygone
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH*)
PROCEDURE Init_Pol(La, Ha: Z_32; VAR X_c, Y_c: Z_32; VAR Pol_: Tab_V);
CONST Fech = 60;
VAR k: Byte; Xc, Yc, z: Z_32;
BEGIN
Xc:= La DIV 2; X_c:= Xc;
Yc:= Ha DIV 2; Y_c:= Yc;
FOR k:= 1 TO Nsomm DO
WITH Pol_[k] DO BEGIN
z:= LstX[k] * Fech; x:= Xc + z;
z:= LstY[k] * Fech; y:= Yc + z
END
END;
(*HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
Programme principal
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH*)
BEGIN
Copie_F1; Init_Pol(Larg_Image, Haut_Image, Xcen, Ycen, Polygone);
Calc_Coef(Xcen, Ycen, Polygone, Lst_Cxy);
Calc_Mat_Im2(Larg_Image, Haut_Image, Xcen, Ycen, Matrice_2);
Trace_A; Trace_S(Larg_Image, Haut_Image);
Creation_F2
END.












