Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

Répondre

Veuillez composer votre message et l'envoyer
Nom (obligatoire)

E-mail (obligatoire)

Message (obligatoire)

Programme anti-spam : Afin de lutter contre le spam, nous vous demandons de bien vouloir répondre à la question suivante. Après inscription sur le site, vous n'aurez plus à répondre à ces questions.

Quel est le résultat de l'opération suivante (donner le résultat en chiffres)?
quatorze moins un
Système anti-bot

Faites glisser le curseur de gauche à droite pour activer le bouton de confirmation.

Attention : Vous devez activer Javascript dans votre navigateur pour utiliser le système anti-bot.

Retour

Résumé de la discussion (messages les plus récents en premier)

Wiwaxia
07-04-2021 22:13:00

Bonsoir,

On obtient un polyèdre tronqué en ajoutant une face plane d'orientation et de position arbitraires - ici

Un = (1/√29).(2, 3, 4) et Dc = 0.700.Rsph .

Le procédé est extensible aux équations non linéaires; la seconde image est celle du même tétraèdre amputé d'une sphère

de rayon  R = 1.700*Rsph , et centrée en (1.100*Rsph, 0.900*Rsph, 0.700*Rsph):
KDhv1U2NPwx_2-t%C3%A9tra%C3%A8dres-tronqu%C3%A9s.png

Il suffit dans ce dernier cas d'introduire la fonction supplémentaite:

F(x, y, z) = R2 - CM2 + |R2 - CM2| ,

nulle en-dehors de la sphére considérée (CM > R), et strictement positive à l'intérieur de celle-ci:


 CONST Cx = 1.100; Cy = 0.900; Cz = 0.700; Cr = 1.700;

 FUNCTION Sphere(x, y, z: Z_32; Rs_: Reel): Reel;
   VAR p, q, r, R2, s, X2, Xc, Y2, Yc, Z2, Zc: Reel;
   BEGIN
     Xc:= Cx * Rs_;      Yc:= Cy * Rs_;    Zc:= Cz * Rs_;
     X2:= Sqr(x - Xc);   Y2:= Sqr(y - Yc); Z2:= Sqr(z - Zc);
     R2:= Sqr(Cr * Rs_); p:= R2 - X2;      q:= Y2 + Z2;
     r:= p - q;          s:= Abs(r);       Result:= r + s
   END;          

Pour la coloration de cette surface courbe, un vecteur unitaire  unique lui a été attribué (Un5 = (1/OC).OC .

Bernard-maths
07-04-2021 19:29:23

Bonsoir !

Voilà que je n'ai pas bien détaillé ? Il y a 3 méthodes, et nous ne parlons pas de la même !
Mais je devais détailler plus généralement (plus tard) ... une formule de calcul de volume !

Soit ABCD un tétraèdre quelconque. Il y a déjà 4 façons de calculer son triple volume : 3V = hA * (BCD) = hB * (ACD) = hC * (ABD) = hD * (ABC), avec (ABC) = Aire de ABC et hD = hauteur issue de D ...

Une 5ème manière consiste à prendre un point M à l'intérieur, qui se projette en H, I, J et K sur les faces (ou leur plan) opposées à A, B, C et D. Alors 3V = MH * (BCD) + MI * (ACD) + MJ * (ABD) + MK * (ABC).

Si on compare ces 5 formules, on peut s'arranger (... tout est négociable, que Diable !?), mais dans le cas du tétraèdre régulier, alors hA = hB = hC = hD = h ... et (ABC) = (ACD) = (ABD) = (BCD) !

Donc on peut en déduire que : MH + MI + MJ + MK = h. (Pour calculer ces distances, je n'ai besoin que de la formule connue pour la distance à 1 plan, et non de produit scalaire)

C'est cette relation particulière du tétraèdre régulier que j'utilise ! Elle ressemble "un peu, beaucoup ?" à celle que tu préconises des demi-espaces, comme je l'avais dit !

Dans mon exposé, c'est la a) que tu vois, moi c'est la c) que j'ai utilisée ...

Et en plus, pour vérifier que cette équation convient, je propose un montage géométrique. Il permet de voir la position variable d'un point Z par rapport au tétraèdre (rouge dehors, vert dedans), et indépendamment, on calcule l'équation du tétraèdre avec les coordonnées de Z. Et ça marche très bien.

Je me suis lancé à présenter 3 façons de trouver une équation de tétraèdre régulier, j'ai fait la 1ère (la c)), je ferai ensuite la 2ème (la b) des  tranches d'espace), et finalement la 3ème la a) des demi-espaces).

Ensuite, je pourrai généraliser à un tétraèdre quelconque, et finalement à tout polyèdre convexe ! (formule du volume adaptée)

Bonne soirée, Bernard-maths.

Wiwaxia
07-04-2021 16:50:31
Bernard-maths a écrit :

... |x + y – z – a|+|x - y + z - a|+|x - y - z + a|+|x + y + z + a| = h √3 = 4a, et enfin :

|x + y – z – a|+|x - y + z - a|+|x - y - z + a|+|x + y + z + a| - 4a = 0.

Peut-on vérifier cette équation ? ...
De plus, on peut voir le nombre sZ s’afficher, et on peut constater que sZ = 0 lorsque Z est vert, et sZ > 0  lorsque Z est rouge !

En effet sZ est l’équation associée au tétraèdre plein :

sZ = abs(xZ + yZ - zZ - a) + abs(xZ - yZ + zZ - a) + abs(xZ - yZ - zZ + a) + abs(xZ + yZ + zZ + a) - 4a

On peut ainsi vérifier que l’équation trouvée pour le tétraèdre est une « bonne « équation » ! ...

En y regardant de près, je ne suis pas tout à fait convaincu par tes calculs - du moins par l'orientation que tu leur donnes.
Tu envisages la somme de quatre termes, impliquant chacun un produit scalaire particulier:
sZ (pour reprendre ta notation) = S1 + S2 + S3 + S4 , avec

S1 = |-x - y - z - a| - a = [P1 - a| - a ,
S2 = |-x + y + z - a| - a = [P2 - a| - a ,
S3 = |x - y + z - a| - a = [P3 - a| - a ,
S4 = [x + y - z - a| - a = [P4 - a| - a ,

et les normales aux faces dirigées vers l'extérieur du tétraèdre, donc opposées aux vecteurs position des sommets:

P1 = OM.N1 et N1 = (-1, -1, -1) ,
P2 = OM.N2 et N2 = (-1, +1, +1) ,
P3 = OM.N3 et N3 = (+1, -1, +1) ,
P4 = OM.N4 et N4 = (+1, +1, -1) ,

Jusques là, ça marche ... mais c'est ensuite qu'apparaissent les difficultés.

Chacun des 4 termes est en effet de la forme Sk = [pk - a| - a , ce qui donne:
# pour pk > a , donc suffisamment loin dans la direction de la normale (Nk) à la face considérée, et au delà du plan correspondant qui admet pour équation pk = a , il vient:

Sk = pk - 2a d'où Sk > -a ;

# pour pk < a , donc en-deça du plan précédent ou dans la direction opposée à la normale (si pk < 0), on a:

Sk = (a - pk) - a = - pk d'où Sk > -a .

Par conséquent l'équation sZ = 0 n'implique nullement que le point M(x, y, z) se trouve à l'intérieur du tétraèdre, ou sur l'une de ses faces.

Si l'on envisage par contre une autre somme un peu moins simple:

T = T1 + T2 + T3 + T4 , avec Tk = (pk - a) + |pk - a| ,

cette nouvelle grandeur présente un rapport étroit avec l'objet considéré; il vient en effet:
# pour pk > a : Tk = 2(pk - a) , ce qui implique: Tk > 0 ;
# pour pk ≤  a : Tk = (pk - a) + (a - pk) = 0 .
Les quatre termes n'étant jamais négatifs, leur somme (T) est par conséquent positive ou nulle,
et le cas limite T = 0 implique pour tout (k) Tk = 0 donc pk ≤  a : le point correspondant se trouve alors soit à l'intérieur du tétraèdre, soit sur la surface frontière - l'une des ses faces ou l'une de ses arêtes.

Tu as simplifié indûment l'équation sur laquelle tu travailles, et c'est par accident que je l'ai crue confirmée par mon algorithme: elle intervient en fait deux fois, notamment pour l'identification de la face du polyèdre, qui se révèle beaucoup plus délicate - je reviendrai plus tard sur le sujet.

Il te faut donc bien passer par mes calculs, plus compliqués que les tiens - l'expression de (T) ne fait que reprendre la propriété caractéristique de l'apothème, que tu as introduite en début de la discussion générale; la présence des valeurs absolues est partiellement liée au fait que la longueur d'un segment n'est jamais négative.

yoshi
07-04-2021 10:31:23

Bonjour,

@Bernard-maths
Il vaut mieux être plus à l'est que plus "à l'ouest", non ?
Je suis allé voir comment les réglages de ton profil étaient définis.
La case "Ajustement pour l'heure d'été : cochez cette case si nécessaire pour que les forums affichent correctement l'heure." était cochée. Je l'ai décochée : ça devrait être bon
Ecris une réponse bidon, valide-là vérifie l'heure, puis supprime ta réponse : si l'heure était correcte, inutile de répondre à mon message...
N-B : chez moi, la case n'est pas cochée...

@+

[EDIT] Nan ! Aucun effet...
Chez moi, je n'étais pas sur le même fuseau horaire, donc je te passe sur le même, le temps que je comprenne à quoi joue cette fonctionnalité (à part avec mes nerfs)

[EDIT2] Je n'ai toujours pas compris, mais ce n'est pas une solution
Je vais rechanger le tout comme je viens de le faire pour moi : passage à un fuseau UTC +1 de base et cocher la fameuse case...

Bernard-maths
07-04-2021 09:23:15

Re !

Effectivement, en exploitant la propriété du tétraèdre régulier, on n'utilise que 4 plans ... Ceci est du à "la formule de calcul du volume", applicable à "plein" de polyèdres, ça viendra plus tard ... avec des adaptations ...

La suite que je vais donner utilisera les tranches ... et comparaison ?

Fullerène, je ne me rappelais pas, j'avais fabriqué un patron de ballon foot pour mes 3ème en 2000 ...et lu qu'après coup, on s'était aperçu que ça correspondait à la molécule de carbone C60 pour ses 60 atomes, positionnés comme les sommets du ballon de foot !

@+

Wiwaxia
07-04-2021 08:59:53

Je m'aperçois à la lecture de ton texte que ton calcul diffère en réalité très peu de celui mis en œuvre dans mon propre programme:

# Version initiale:
FUNCTION F_Polyedre(X1, Y1, Z1: Z_32): Reel;
   VAR j: Byte; p, q, r, s: Reel; W: Ve3D;
   BEGIN
     W:= CombLin3V(X1, Y1, Z1, Vun1, Vun2, Vun3);
     s:= 0;
     FOR j:= 1 TO Nface DO
       BEGIN
         p:= Pscal(LstF[j].Un, W); q:= p - LstF[j].Dc;
         r:= Abs(q);               IncR(s, q + r)
       END;
     Result:= s
   END;
# Traduction des fonctions proposées:
FUNCTION F_Polyedre(X1, Y1, Z1: Z_32): Reel;
   VAR j: Byte; p, q, r, s: Reel; W: Ve3D;
   BEGIN
     W:= CombLin3V(X1, Y1, Z1, Vun1, Vun2, Vun3);
     s:= 0;
     FOR j:= 1 TO Nface DO
       BEGIN
         p:= Pscal(LstF[j].Un, W); q:= p - LstF[j].Dc;
         r:= Abs(q);               IncR(s, r - LstF[j].Dc)
       END;
     Result:= s
   END;
la nouvelle version conduisant à une image identique:
KDhiSKIGJEx_Comparaison-des-2-t%C3%A9tra%C3%A8dres.png
Il y a donc lieu d'en être satisfait.

Je remarque seulement que tu n'utilises plus ici des "tranches" délimitées par 2 plans parallèles, mais comme moi des demi-espaces délimités par une frontière unique - en raison de l'absence de centre de symétrie.

Pour la molécule de fullerène, c'est plus lourd mais tout à fait envisageable; il suffit de rassembler les normales aux faces de l'icosaèdre et de son dual (le dodécaèdre).

Bernard-maths
07-04-2021 08:47:55

Bonjour !

c'est zoli même l A quand le ballon  de foot, le C60 ?

Bon, je vais continuer en tranches, et finalement en demi-espaces, ça va dans la logique de ma présentation !

Après on pourra généraliser aux autres polyèdres sympas ... ou non.

A plus, B-m



PS à Yoshi :salut !

Y-a-t-il un problème d'heure d'été ? Je viens de quitter, ça indique 9h47. Or j'ai 10h47 chez moi !!!

Je dois être plus à l'est que prévu ?

Salutations, B-m :)

Wiwaxia
07-04-2021 07:52:53

Bonjour,

La perspective de tes schémas est bien rendue. Je tâcherai de revenir sur les équations.

Bernard-maths a écrit :

... Pour la suite, je te propose un tétraèdre régulier ... tu le fais en demi-espaces, et moi en tranches d'espace.
Je propose A(3,3,3), B(3,-3,-3), C(-3,3,-3) et D(-3,-3,3) ... OK ? ...

Les coordonnées des sommets s'obtiennent à un facteur près par l'algorithme sommairement résumé:


FOR i:= -1 TO 1 DO
  FOR j:= -1 TO 1 DO
    FOR k:= -1 TO 1 DO
      BEGIN
        s:= i + j + k; p:= x * j * k;
        IF (p<>0) AND ((s=-1) OR (s=3)) DO
          BEGIN
            x:= D * i; y:= D * j; z:= D * k
          END
      END;          

Le tétraèdre régulier se singularisant par un dual de même nature, les normales aux faces sont opposées aux vecteurs position des sommets; elles sont par conséquent données par les conditions:

(p<>0) AND ((s=1) OR (s=-3))

Comme auparavant, les indices et les coordonnées des sommets n'ont pas été calculés.

Voici donc le tableau de résultats et l'image auxquels conduisent le programme source; les faces sont les plans tangents à la sphère centrée à l'origine et de rayon Rsph = 0.340*Rcen ; la perspective correspond aux paramètres

Latitude La = 25° , Longitude = 40° .

KDhhKZ2dbBx_Tableau-2-poly%C3%A8dres.png
Figure en-dessous, pour illustration du procédé, le polyèdre à 64 faces (43) dont les normales sont très simplement calculées à partir de 3 entiers (i, j, k) variant de 0 à 3 (Rsph = 0.800*Rcen, La = 20°, Lo = 40°); il y a dans ce cas 3 plans de symétrie, et un centre de symétrie.

Le programme source relatif à la représentation du tétraèdre figure ci-dessous:

 PROGRAM Polyedre;

(*HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

 Repr‚sentation d'un t‚traŠdre à partir des normales aux faces

HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH*)

 USES Crt, E_Texte, U_Copie_1F, Math, U_Math;

// CONST Nsomm = 4;
 CONST Nface = 4;

 TYPE Ve3D = RECORD  x, y, z: Reel  END;
//      Tab_V = ARRAY[1..Nsomm] OF Ve3D;
      Face = RECORD  Sa, Sb, Sc: Byte;
                     Un: Ve3D; Dc: Reel  END;
      Tab_F = ARRAY[1..Nface] OF Face;
      Tab_C = ARRAY[1..Nface] OF Pixel;

 VAR Rcen: Z_32; Rsph: Reel;
     Vun1, Vun2, Vun3: Ve3D;
//     LstS: Tab_V;
     LstF: Tab_F;
     LstC: Tab_C;

(*HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

 Utilitaires

HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH*)

 FUNCTION Pvect(Wa, Wb: Ve3D): Ve3D;
   VAR p, q: Reel; W: Ve3D;
   BEGIN
     p:= Wa.y * Wb.z; q:= Wa.z * Wb.y; W.x:= p - q;
     p:= Wa.z * Wb.x; q:= Wa.x * Wb.z; W.y:= p - q;
     p:= Wa.x * Wb.y; q:= Wa.y * Wb.x; W.z:= p - q; Result:= W
   END;

 FUNCTION Diff2V(Wa, Wb: Ve3D): Ve3D;
   VAR W: Ve3D;
   BEGIN
     W.x:= Wa.x - Wb.x; W.y:= Wa.y - Wb.y;
     W.z:= Wa.z - Wb.z; Result:= W
   END;

 FUNCTION Vunit(V: Ve3D): Ve3D;
   VAR I1, N1, p, q, r, s: Reel; W: Ve3D;
   BEGIN
     p:= Sqr(V.x);     q:= Sqr(V.y);   r:= Sqr(V.z);   s:= p + q;
     N1:= Sqrt(r + s); I1:= 1 / N1;
     W.x:= V.x * I1;   W.y:= V.y * I1; W.z:= V.z * I1; Result:= W
   END;

 FUNCTION Pscal(Wa, Wb: Ve3D): Reel;
   VAR p, q, r, s: Reel;
   BEGIN
     p:= Wa.x * Wb.x; q:= Wa.y * Wb.y; r:= Wa.z * Wb.z;
     s:= p + q;       Result:= r + s
   END;

(*HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

 Caculs relatifs au polyŠdre

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 Identif_F(X1, Y1, Z1: Z_32): Byte;
   VAR j, Jf: Byte; Max, p, q, r, s: Reel; W: Ve3D;
   BEGIN
     W:= CombLin3V(X1, Y1, Z1 + 1, Vun1, Vun2, Vun3); Jf:= 0; Max:= 0;
     FOR j:= 1 TO Nface DO
       BEGIN
         p:= Pscal(LstF[j].Un, W); q:= p - LstF[j].Dc;
         r:= Abs(q);               s:= q + r;
         IF (s>Max) THEN BEGIN
                           Jf:= j; Max:= s
                         END
       END;
     Result:= Jf
   END;

 FUNCTION F_Polyedre(X1, Y1, Z1: Z_32): Reel;
   VAR j: Byte; p, q, r, s: Reel; W: Ve3D;
   BEGIN
     W:= CombLin3V(X1, Y1, Z1, Vun1, Vun2, Vun3);
     s:= 0;
     FOR j:= 1 TO Nface DO
       BEGIN
         p:= Pscal(LstF[j].Un, W); q:= p - LstF[j].Dc;
         r:= Abs(q);               IncR(s, q + r)
       END;
     Result:= s
   END;

 PROCEDURE Calc_Mat_Im2(La, Ha, Rc: Z_32; VAR Ma2: Tab_Pix);
   CONST Seuil = 1E-10; P000: Pixel = (0, 0, 0);
   VAR Iface: Byte;
       Xcen, Ximg, Xm, Ycen, Yimg, Ym, Zimg, Zmin: Z_32;
       u: Reel; Px: Pixel;
   BEGIN
     Xcen:= La DIV 2; Ycen:= Ha DIV 2; Zmin:= -2 * Rc;
     FOR Xm:= 0 TO (La - 1) DO
       BEGIN
         Ximg:= Xm - Xcen; We(10, 40, Xm, 6);
         FOR Ym:= 0 TO (Ha - 1) DO
           BEGIN
             Yimg:= Ym - Ycen; Zimg:= 0;
             REPEAT
               Dec(Zimg); u:= F_Polyedre(Ximg, Yimg, Zimg + Rcen)
             UNTIL ((u<Seuil) OR (Zimg=Zmin));
             IF (Zimg=Zmin) THEN Px:= P000
                            ELSE BEGIN
                                   Iface:= Identif_F(Ximg, Yimg,
                                                     Zimg + Rcen);
                                   Px:= LstC[Iface]
                                 END;
             Ma2[Xm,Ym]:= Px
           END
       END
   END;

(*HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

 Calcul des couleurs

HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH*)

 FUNCTION Max3R(p, q, r: Reel): Reel;
   VAR m: Reel;
   BEGIN
     IF (p>q) THEN m:= p ELSE m:= q;
     IF (m<r) THEN m:= r; Result:= m
   END;

 CONST Kc2 = 30; Kc1 = Kc2 - 1; Kc3 = Kc2 + 1;

 PROCEDURE Init_Lc(VAR L_f: Tab_F; VAR L_c: Tab_C);
   CONST m = 255.499;
   VAR k: Byte; s, t, u, v, w: Reel; Px: Pixel;
   BEGIN
     FOR k:= 1 TO Nface DO
       BEGIN
         WITH LstF[k].Un DO
           BEGIN
             u:= Frac(Kc1 * (1.4 + x)); v:= Frac(Kc2 * (1.5 + y));
             w:= Frac(Kc3 * (1.6 + z)); s:= Max3R(u, v, w);
             t:= m / s;                 Px[1]:= Round(t * u);
             Px[2]:= Round(t * v);      Px[3]:= Round(t * x)
           END;
         L_c[k]:= Px
       END
   END;

(*HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

 D‚termination des sommets, des faces et des arˆtes

HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH*)

 PROCEDURE AffF(VAR L_F: Tab_F);
   CONST L1 = 2; L2 = L1 + 1; v = 11; w = 5;
   VAR k: Byte;
   BEGIN
     E(1012); Wt(1, L1, '    j');
     E(0015); Write('   Ja   Jb   Jc      ');
     E(0010); Write('Nx         Ny         Nz        ');
     E(0014); Write('Dcen');
     FOR k:= 1 TO Nface DO
       WITH L_f[k] DO
         BEGIN
           E(0012); We(1, k + L2, k, w);
           E(0015); Write(Sa:w, Sb:w, Sc:w);
           E(0010); Write(Un.x:v:w, Un.y:v:w, Un.z:v:w);
           E(0014); Write(Dc:v:w)
         END;
     A_; E(1015)
   END;

 CONST DegRad = Pi / 180;

 PROCEDURE CalcF(Rs_: Reel; VAR LstF: Tab_F);
   VAR i, j, k, Sij, Sijk: Z_08; h: Byte; W_: Ve3D;
   BEGIN
     h:= 0;
     FOR i:= -1 TO 1 DO
       IF (i<>0) THEN
         FOR j:= -1 TO 1 DO
           IF (j<>0) THEN
             BEGIN
               Sij:= i + j;
               FOR k:= -1 TO 1 DO
                 IF (k<>0) THEN
                   BEGIN
                     Sijk:= Sij + k;
                     IF ((Sijk=-3) OR (Sijk=1)) THEN
                       BEGIN
                         Inc(h);                 W_.x:= i;
                         W_.y:= j;               W_.z:= k;
                         LstF[h].Un:= Vunit(W_); LstF[h].Dc:= Rs_
                       END
                   END
             END
   END;

(*HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

 Calculs relatifs au nouveau repŠre

HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH*)

 PROCEDURE CalcRcRs(La, Ha: Z_32; VAR Rc_: Z_32; VAR Rs_: Reel);
   BEGIN
     IF (La<Ha) THEN Rc_:= La DIV 2
                ELSE Rc_:= Ha DIV 2;
     Rs_:= 0.340 * Rc_
   END;

 CONST LambdaDeg = 25.0; PhiDeg = 40.0;

 PROCEDURE Calc_U0123(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_U0123(Vun1, Vun2, Vun3);
   CalcRcRs(Larg_Image, Haut_Image, Rcen, Rsph);
   CalcF(Rsph, LstF); AffF(LstF);
   Init_Lc(LstF, LstC);

   Calc_Mat_Im2(Larg_Image, Haut_Image, Rcen, Matrice_2);
   Creation_F2
 END.          

La fonction couleur se comporte pratiquement comme un générateur pseudo-aléatoire de pixels, la plus forte composante étant systématiquement portée à 255.

Bernard-maths
06-04-2021 16:49:39

Bonsoir à tous !

Je commence une 1ère équation du tétraèdre !

Ce qui suit est la reprise de travaux antérieurs menés en 2018 et suivant, ainsi que leur compilation. Je me limiterai dans cette présentation au tétraèdre régulier, une autre édition parlera du tétraèdre non régulier (si j’ai le … temps).

1°) Mise en repère et mesures :
Vu les nombreuses propriétés du tétraèdre régulier, je vais le prendre inscrit dan un cube de demi côté a ≥ 0. Soit donc ABCD ce tétraèdre, avec A(a ;a ;a), B(a ;-a ;-a), C(-a ;a ;-a) et D(-a ;-a ;a). Le point O est l’origine du repère (ici a = 3).

KDgqU3FKVLG_T%C3%A9tra-r%C3%A9gulier-image-1-2021-04-06.jpg

Le tétraèdre est un polyèdre, c’est donc un solide plein, son volume est plein. Par contre, en général, on s’intéresse à la partie visible, donc sa surface constituée de 4 triangles équilatéraux …
Quelles sont ses dimensions ? Par construction, ses arêtes sont des diagonales d’un cube de côté c = 2a, donc l’arête vaut b = 2a√2 . Les 4 hauteurs se recoupent au point O, et ont pour valeur h = 4a √3/3 = 2c √3/3 = b √6/3 !
On en déduit l’aire latérale et le volume de ABCD : Aire = 2b² √3 , et Volume = b^3  √2/6 .



2°) Quelles équations ?
    a ) Quand on parle d’équation, en général on pense à l’équation de surface, comme pour la sphère, par exemple. Ou pour toutes les surfaces que l’on trouve en grand nombres, mais ce sont des surfaces … Or ici nous avons un solide, dont nous allons chercher une équation « pleine ». Nous reparlerons plus tard de l’équation de surface …


    b ) Le tétraèdre est un solide convexe, c'est-à-dire que pour chacune de ses 4 faces, il est entièrement d’un seul côté du plan contenant la face. Autrement dit, pour chaque face, il est dans un demi-espace. Il est donc à l’intersection des 4 demi-espaces (repérés). Or pour définir une équation de demi-espace, il suffit de connaître l’équation du plan frontière, et de jouer sur les signes …

    c ) On peut aussi considérer le tétraèdre comme contenu dans une tranche de l’espace, définie par 2 plans parallèles. Ainsi chaque plan de chaque face et le plan parallèle passant par le sommet opposé vont définir 4 tranches d’espace. Le tétraèdre est alors considéré comme l’intersection de ces 4 tranches … L’épaisseur d’une tranche est égale à la hauteur h du tétraèdre. Remarquons que les 4 plans, parallèles aux 4 faces, se recoupent et définissent alors le tétraèdre dual (extérieur).

    d ) Une propriété du tétraèdre permet d’avoir une 3ème approche : si l’on considère un point de l’espace, et ses 4 distances aux 4 plans des faces, la somme des 4 distances passe par un minimum constant pour tout point du tétraèdre plein. La somme minimale est égale à la hauteur h du tétraèdre.

    Il n’est pas exclu de trouver d’autre(s) méthode(s) … selon les objets étudiés.


3°) Equation avec la propriété d du tétraèdre :
Soient A’, B’, C’ et D’ les pieds des hauteurs issues de A, de B, de C et de D. Soit M un point de l’espace, qui se projette en H, I, J et K sur les plans opposés à A, B, C et D.

KDgq0upPbQG_T%C3%A9tra-r%C3%A9gulier-image-2-2021-04-06.jpg

Il faut maintenant trouver des équations des 4 plans des faces. Pour cela nous avons des vecteurs normaux qui sont  (AO), (BO), (CO) et (DO). On a par exemple  (AO) (-a ;-a ;-a) pour le plan BCD passant par A’(-a/3 ;-a/3 ;-a/3), d’où  le produit scalaire (AO) . (A'M) = 0. On obtient … x + y + z + a = 0 pour BCD. De même on aura ABC : x + y – z – a = 0 ; ABD : x - y + z - a = 0  ; ACD : x - y - z + a = 0 (aux signes près). Il reste à écrire que MH + MI + MJ + MK = h. La distance de M au plan ABC est : |x + y – z – a|/√3 ...
Ce qui donne finalement ... :

|x + y – z – a|+|x - y + z - a|+|x - y - z + a|+|x + y + z + a| = h √3 = 4a, et enfin :

|x + y – z – a|+|x - y + z - a|+|x - y - z + a|+|x + y + z + a| - 4a = 0.



Peut-on vérifier cette équation ? Voyons la figure suivante …

KDgq2xUbCaG_T%C3%A9tra-r%C3%A9gulier-image-3-2021-04-06.jpg

On y voit le tétraèdre, et un point Z en rouge, dont les coordonnées s’affichent à gauche : xZ = 3, yZ = 4 et zZ = 0. Par le point Z, on trace un plan (rouge) horizontal, recoupant (ou non) le tétraèdre selon un quadrilatère vert (appelé q7).

Si on place le curseur sur le point Z, on voit apparaître un flèche à 4 branches « horizontales », ou à 2 branches « verticales », et en cliquant sur Z, la forme change … Bien sur si on clique-tenu sur Z, on peut alors le déplacer dans le sens des flèches : horizontalement ou verticalement !

Verticalement : Z monte ou descend, le plan rouge aussi ! On peut alors voir le quadrilatère vert se déformer, et même disparaître si Z est trop haut ou trop bas …

Horizontalement : Z se place « dans » le plan rouge, et on peut le déplacer/mettre « dans » le quadrilatère vert, à ce moment là Z devient vert ! Z redevient rouge en quittant ce quadrilatère vert.

De plus, on peut voir le nombre sZ s’afficher, et on peut constater que sZ = 0 lorsque Z est vert, et sZ > 0  lorsque Z est rouge !

En effet sZ est l’équation associée au tétraèdre plein :

sZ = abs(xZ + yZ - zZ - a) + abs(xZ - yZ + zZ - a) + abs(xZ - yZ - zZ + a) + abs(xZ + yZ + zZ + a) - 4a

On peut ainsi vérifier que l’équation trouvée pour le tétraèdre est une « bonne « équation » !

KDgrhfQ2UlG_T%C3%A9tra-r%C3%A9gulier-image-4-2021-04-06.jpg

Voilà pour cette 1ère équation, je vous donne les liens pour les 2 programmes GeoGebra, j'espère que vous pourrez les charger, et les manipuler ...

https://cjoint.com/doc/21_04/KDgrllcMX8 … -01-22.ggb

https://cjoint.com/doc/21_04/KDgrmpuGlZ … -04-05.ggb


Cordialement, Bernard-maths

Bernard-maths
05-04-2021 12:50:34

Bonjour !

Wiwaxia, que penses-tu de ma proposition en #20 ?

J'ai l'équation en tranches d'espace, et l'équation par un point intérieur, qui doit ressembler à celle par les demi-plans ...

Je vais commencer par les tranches.

A plus, B-m

Wiwaxia
05-04-2021 12:12:58
Bernard-maths a écrit :

... Je n'ai quasiment jamais fait de topologie, alors ... si je mets 6 lacets autour des 6 trous de l'objet volume, comment en disparaît-il 1 quand on l'aplatit ??? ...

L'aplatissement de l'objet ne modifie pas le nombre de trous.
L'opération est à rapprocher du tracé des diagrammes de Schlegel.
https://fr.wikipedia.org/wiki/Diagramme_de_Schlegel
https://mathcurve.com/polyedres/polyedre/polyedre.shtml

Bernard-maths
05-04-2021 08:39:41

Bonjour les topologistes !

Je suis cruellement déçu par les  trous du cube, ceci montre bien que certains n'ont pas les pieds sur Terre ...?

Je n'ai quasiment jamais fait de topologie, alors ... si je mets 6 lacets autour des 6 trous de l'objet volume, comment en disparaît-il 1 quand on l'aplatit ???

Mais ça reste intéressant à suivre !

B-m

Wiwaxia
05-04-2021 07:59:27

Un polyèdre inscriptible dans une surface du genre précédemment décrit s'obtient en 3 étapes de duplication, accompagnées du raccordement des faces triangulaires mutuellement placées en regard.
En partant d'un tétraèdre (S0, F0, A0) = (4, 4, 6), la jonction des sommets de deux triangles par des segments parallèles:
a) double le nombre de sommets du fait de la reproduction de la structure précédente: Sn = 2 * Sn - 1 ;
b) introduit une face supplémentaire pour toute paire de triangles associés en raison du remplacement des deux faces concernées par 3 faces quadrangulaires (trapèzes, éventuellement rectangles): Fn = (2 * Fn - 1) + 2n - 1 ;
c) fait apparaître 3 arêtes supplémentaires pour chaque paire de triangles, d'où: An = 2 * An - 1 3 3 * 2n - 1 .
On voit ainsi apparaître:

(S1, F1, A1, X1) = (8, 9, 15, 2) - polyèdre ordinaire, de genre nul;
(S2, F2, A2, X2) = (16, 20, 36, 0) - polyèdre torique de genre 1;
(S3, F3, A3, X3) = (32, 44, 84, -8) - présentant la structure d'un cube.

KDfix2fRZKx_4-poly%C3%A8dres.png

PS: Erreur rectifiée.

Wiwaxia
05-04-2021 07:09:51

Bonjour,

La déformation de la surface apparentée au cube (a = 0) en tronc de pyramide permet de vérifier la présence de 5 trous dans la surface fermée, conformément au schéma mis en lien par Roro.

Il s'agit bien d'une surface fermée de genre égal à 5:

KDfg64VYNFx_4-cubes.png

Roro
04-04-2021 20:35:52

Re-bonsoir,

Une idée sur le calcul du nombre de trous : ici

Pour le cas simple de l'aquarium (avec des bords "épais" sinon je ne sais pas ce que signifie "trou"), on peut le déformer continument en un morceau de plan. D'ailleurs, s'il y avait un trou, on ne pourrait pas mettre de l'eau dedans !

Roro.

Pied de page des forums