Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#176 Re : Le coin des beaux problèmes de Géométrie » Plus grand périmètre » 10-07-2021 17:15:36
Bonjour,
J'ai complété le programme précédent par le calcul dans le repère (Mxy)
# des vecteurs unitaires (Uma, Umb, Umc) associés aux positions respectives des 3 points (A, B, C) - ce dernier étant placé sur la partie positive de l'axe (x'x), et (B) présentant une ordonnée positive,
# et de ceux (Wabc, Wbca, Wcab) associés aux bissectrices des angles (AB, AC), (BC, BA),(CA, CB);
d'après ce qui a été établi, ils sont théoriquement opposés, et leur déterminant nul.
Les valeurs obtenues pour ce dernier, au plus égales à environ 10-18 en valeur absolue, restent compatibles avec la précision limite assurée par le logiciel (10-19), compte tenu du cumul des erreurs d'arrondi accompagnant les calculs.

Les valeurs des normes ont été affichées à des fins de vérification.
#177 Re : Le coin des beaux problèmes de Géométrie » Plus grand périmètre » 07-07-2021 07:02:40
Bonjour Bernard-maths,
... Si on prend A fixé, B variable sur le cercle (concerné), et C sur le 3ème cercle et côté adéquat de l'angle en A, en choisissant x = xB comme variable, on peut exprimer périmètre = f(xB), et donc trouver xB, montrer que les 3 bissectrices sont bien comme on veut ... etc ...
Ton hypothèse suppose la donnée arbitraire des 3 cercles concentriques, donc celle de leurs rayons respectifs (R1, R2, R3); on ne peut alors choisir, dans le cas particulier du périmètre maximal, que la position de l'un des 3 points (A, B, C); celles des deux autres s'en déduisent par les valeurs des angles (α) et (β), qui dépendent des rapports (R3/R1) et (R3/R2).
Cordialement, W.
#178 Re : Le coin des beaux problèmes de Géométrie » Plus grand périmètre » 06-07-2021 13:46:48
Bonjour,
Voici le problème :
Soit un M du plan et 3 cercles C1,C2 et C3, distincts, de centre M et de rayon respectifs R1,R2 et R3.
Trouver 3 points A,B et C respectivement sur C1, C2 et C3 de façon que le triangle ABC ait un périmètre maximal.
Les valeurs des rayons étant données, ainsi que les positions du centre commun (M) et de l'un des trois points (A, B, C), il est possible de déterminer celles des deux autres par l'exploration des valeurs de la fonction F(α, β) = [Ua2 + Ub2]1/2, et la recherche du zéro non-trivial sur le domaine [0, π]2.
La comparaison systématique de la valeur actuelle de la fonction F(α, β)
à celles observées aux quatre points voisins, de coordonnées (α ± h, β) , (α, β ± h),
permet de localiser l'extremum dans des limites de plus en plus étroites, compatibles avec la précision des calculs effectués par le logiciel (Virtual Pascal, en l'occurrence). Le pas (h), initialement égal à (0.1), est divisé par (10) lorsque la plus faible valeur calculée correspond au point central.
Les mêmes valeurs des rayons (Rj = 1, 2, 3) conduisent aux résultats suivants:

La comparaison avec ceux découlant de la division de l'image en pixels (déjà partiellement publiés)

permet les constats suivants:
a) les limites obtenues pour les coordonnées (α, β) sont effectivement très proches des valeurs approchées citées auparavant - l'écart ne dépassant pas 0.1 ° ;
b) la valeur minimale obtenue (~ 3.0E-19) apparaît très inférieure au maximum repéré sur le domaine (~ 0.57), et peut être considérée comme nulle; en effet le rapport Fmin/Fmax = 5.3E-19 ,
quoique nettement supérieur au "epsilon machine" lié à la codification des nombres à virgule flottante (ici 2-63 = 1.1E-19) - s'explique aisément par la dérive due à la lourdeur des calculs.
Le procédé définit une suite double convergeant vers une limite unique sur un domaine relativement large - en fait tant que le point initial ne s'approche pas trop des frontières de la cuvette dont on recherche le point le plus bas:

Les coordonnées limites apparaissent indépendantes de leurs valeurs initiales; le calcul du minimum local conduit à des valeurs très faibles (Fmin/Fmax >~ 2.4E-20) et très dispersées: il s'agit en fait d'un minimum nul.
#179 Re : Café mathématique » Aide pour un choix d'ordinateur pour une licence mathématique » 20-06-2021 18:51:53
Bonjour, et merci @ yoshi pour ces informations claires et précises !
#180 Re : Le coin des beaux problèmes de Géométrie » Plus grand périmètre » 20-06-2021 16:16:48
Par curiosité, j'ai regardé ce que l'on pouvait obtenir dans le cas R1 = 1 , R2 = 2 , R3 = 3
par un graphe faisant apparaître les valeurs extrêmes de la norme du vecteur Grad(p) - plus précisément de son expression simplifiée.
Ce qui est en cause, c'est la présence d'un minimum nul hors des sommets du domaine; les valeurs données pour les angles sont bien sûr approchées; elles résultent d'un calcul rapide, lié à la résolution de l'image en un nombre fini de pixels.

La connaissance du maximum est indispensable à la détermination d'une échelle appropriée.

#181 Re : Le coin des beaux problèmes de Géométrie » Plus grand périmètre » 20-06-2021 16:04:01
Bonjour,
... Je constate, mais ne vois pas encore quoi faire ...
... / ...
Sur cette figure (AB) // (AC). Peut-on montrer que si on prend B' différent de B, alors le périmètre de AB'C diminue ?
Il suffit de s'assurer que les relations caractérisant l'extremum du périmètre sont bien vérifiées.
On peut d'ailleurs envisager une exploration systématique des éventuelles solutions (α, β) sur un domaine bidimensionnel [0 ; π]x[0 ; π], pour des valeurs arbitraires des 3 rayons.

PS: Des erreurs ont été corrigées, qui n'affectaient pas le tracé du graphique.
#182 Re : Le coin des beaux problèmes de Géométrie » Plus grand périmètre » 18-06-2021 09:05:25
Bonjour,
Il y a bien une solution analytique au problème, mais son exploitation est assez difficile, et je ne vois pas comment faire apparaître la propriété géométrique évoquée ...

#183 Re : Le coin des beaux problèmes de Géométrie » Courbes et surfaces de niveaux ... et troncatures. » 16-06-2021 11:39:24
Bonjour Bernard-maths,
J'ai regardé ce que propose Maple: la coloration locale est bien envisagée soit en fonction de la position du point, soit en fonction de l'orientation de la normale (le vecteur gradient); il n'y est pas fait référence explicite au procédé de tracé du rayon lumineux - cela relève en fait du second procédé, et m'a peut-être échappé.
Cordialement,
W.
Si ces liens peuvent t'être utiles:
https://www.maplesoft.com/support/help/ … ath=plot3d
https://www.maplesoft.com/support/help/ … ot%2fcolor
https://www.maplesoft.com/support/help/ … fcolorfunc
https://www.maplesoft.com/support/help/ … olorscheme
https://www.maplesoft.com/support/help/ … Dquickview
https://www.maplesoft.com/support/help/ … yhedraplot
https://www.maplesoft.com/support/help/ … ath=geom3d
https://www.maplesoft.com/support/help/ … 2fpolyhedr
#184 Re : Le coin des beaux problèmes de Géométrie » Courbes et surfaces de niveaux ... et troncatures. » 14-06-2021 18:35:43
Car c’est très beau à voir … (autosatisfaction oblige ...)
Ce sont effectivement de belles figures, dont tu pourrais améliorer l'apparence en travaillant la palette de couleurs, et en cherchant à exprimer les "intensités" (r, v, b) par des fonctions appropriées dépendant des composantes de la normale à la face considérée (je ne connais pas les instructions disponibles sur Geogebra).
Les belles teintes s'obtiennent pour Max(r, v, b) ~ 255 - éviter si possible le blanc, identique à la couleur du fond ... Des essais rapides sont possibles en utilisant MsPaint.
C'est du bon travail.
PS: Je remarque que la teinte d'une face n'est pas uniforme: il y a donc une source virtuelle d'éclairage de l'objet à distance finie; pourquoi ne pas faire intervenir un éclairage coloré, ou plusieurs sources de lumière ?
Que donnerait un fond noir, et un repère (le cube) tracé en blanc ?
#185 Re : Le coin des beaux problèmes de Géométrie » Courbes et surfaces de niveaux ... et troncatures. » 07-06-2021 23:54:09
Bonsoir Bernard-Maths,
Les figure sont bien faites mais un peu étranges, difficiles à situer dans le cube représenté en perspective.
Du tétraèdre au cuboctaèdre en 9 figures !
Le premier solide est un octaèdre , et non un tétraèdre.
Il faudrait épaissir les 3 arêtes antérieures du cube repère pour mieux appréhender le relief.
#186 Re : Le coin des beaux problèmes de Géométrie » Courbes et surfaces de niveaux ... et troncatures. » 08-05-2021 08:46:26
Bonjour Bernard-maths,
... Bonjour à Wiwaxia, qui m'a "obligé" à ouvrir cette discussion ... :-)))
Après avoir parlé des équations de polyèdres (Voir : "La réduction des polyèdres convexes à l'intersection de demi-espaces"), je vais vous parler de 2 applications sur ces polyèdres (et peut-être d'autres).
La première concerne les courbes (en 2D) et les surfaces (en 3D) des polygones ou polyèdres, qui consiste, pour imager, à les faire grossir en dehors de l'objet de départ.
La deuxième concerne les troncatures, consistant à "découper" l'objet selon quelques "consignes".
Les deux activités peuvent être mises en relation, dans certains cas (pas tous !), d'où la même discussion ...
Loin de moi l'intention de perturber tes projets d'exposés.
Tu construit des figures très claires, qui mettent bien en évidence la parenté et les élément de symétrie des objets représentés.
En ce qui concerne la troncature par un plan, il suffit d'introduire une face supplémentaire, d'orientation et de distance au centre arbitraires; le principe en a déjà été donné.
Voir le message #09 dans http://www.bibmath.net/forums/viewtopic.php?id=13806
Je n'ai pas répondu jusque là, car je me suis investi dans le traitement des images et dois par ailleurs assumer des obligations aussi lourdes que diverses.
Cordialement,
W.
#187 Re : Le coin des beaux problèmes de Géométrie » Les figures rayonnantes : principes, équations, et jolis dessins ! » 25-04-2021 18:03:10
Je pensais que le premier objet résultait de l'assemblage de sphères et de cylindres ... Mais je connais trop peu Geogebra pour avoir esquissé quoi que ce soit.
Pas mal, la photo - je m'occupe actuellement de traitement d'image.
#188 Re : Le coin des beaux problèmes de Géométrie » Les figures rayonnantes : principes, équations, et jolis dessins ! » 25-04-2021 12:13:45
Bonjour,
Le procédé est-il transposable à un nombre quelconque de sommets (par ex. 5 ou 7), et en l'absence des éléments de symétrie du cube ?
#189 Re : Le coin des beaux problèmes de Géométrie » La réduction des polyèdres convexes à l'intersection de demi-espaces » 07-04-2021 23: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):
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 .
#190 Re : Le coin des beaux problèmes de Géométrie » La réduction des polyèdres convexes à l'intersection de demi-espaces » 07-04-2021 17:50:31
... |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.
#191 Re : Le coin des beaux problèmes de Géométrie » La réduction des polyèdres convexes à l'intersection de demi-espaces » 07-04-2021 09: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:
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).
#192 Re : Le coin des beaux problèmes de Géométrie » La réduction des polyèdres convexes à l'intersection de demi-espaces » 07-04-2021 08:52:53
Bonjour,
La perspective de tes schémas est bien rendue. Je tâcherai de revenir sur les équations.
... 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:
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° .

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.
#193 Re : Le coin des beaux problèmes de Géométrie » La réduction des polyèdres convexes à l'intersection de demi-espaces » 05-04-2021 13:12:58
... 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
#194 Re : Le coin des beaux problèmes de Géométrie » La réduction des polyèdres convexes à l'intersection de demi-espaces » 05-04-2021 08: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.

PS: Erreur rectifiée.
#195 Re : Le coin des beaux problèmes de Géométrie » La réduction des polyèdres convexes à l'intersection de demi-espaces » 05-04-2021 08: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:

#196 Re : Le coin des beaux problèmes de Géométrie » La réduction des polyèdres convexes à l'intersection de demi-espaces » 04-04-2021 20:23:15
Bonsoir,
... combien de trous ? 4 ou ... 5 ... ou 6 ?
C'était involontairement provocateur, mais je n'avais pas retrouvé de document plus simple dans le capharnaüm de mes fichiers.
Il suffit de détordre l'objet pour s'apercevoir que la surface fermée finale englobe les 12 arêtes rectilignes d'un cube, et présente 5 trous comme les précédentes:

Il s'agit d'une famille de surfaces algébriques de degré 28, de genre fixe (5) et vérifiant l'équation:
(x+2*a*z*y)^14+(y-2*a*z*x)^14+z^14-b*((x+2*a*z*y)^12+(y-2*a*z*x)^12+z^12)+c*b^14
avec b = 0.74 et c = 0.44 .
Inscrire lisiblement un polyèdre dans la surface la plus simple (a = 0) n'est pas facile.
Il y a une solution (S, F, A) = (32, 44, 84) conduisant à la caractéristique d'Euler
X = S + F - A = -8
conforme au genre de la surface: X = 2(1 - g) = 2(1 - 5) .
#197 Re : Le coin des beaux problèmes de Géométrie » La réduction des polyèdres convexes à l'intersection de demi-espaces » 03-04-2021 10:10:00
Pourtant on compte 6 Faces, 5 Sommets et 9 Arêtes, ce qui donne : F + S = A + 2, comme dirait ... Euler ?
Là n'est pas la question ! Tout polyèdre résultant de la partition d'une surface fermée vérifie la relation d'Euler-Poincaré
S + F - A = X ,
dont la caractéristique (X) dépend du genre de la surface considérée;
# X vaut 2 dans le cas d'une surface de genre nul, homéomorphe à la sphère et dépourvue de trou;
# X est nul dans le cas d'une surface de genre (1) homéomorphe au tore et présentant un trou, (-2) lorsqu'il y en a deux, etc.
Je laisse de côté les cas pathologiques dont l'imagination des mathématiciens se montre particulièrement friande.
http://villemin.gerard.free.fr/Wwwgvmm/ … lEuler.htm
https://fr.wikipedia.org/wiki/Caract%C3 … _d%27Euler
https://mathcurve.com/surfaces/eulerpoi … care.shtml
... Sinon, on a en général pas mal (?) de polyèdres non convexes différents pour des sommets donnés ...
En insérant un point supplémentaire à l'intérieur d'un polyèdre convexe à (S) sommets et (F) faces, on obtient (F) polyèdres concaves à (S + 1) sommets.
Exemple de surface algébrique (mais si !) à 5 trous:

Bonne fête de Pâques à tous !
#198 Re : Le coin des beaux problèmes de Géométrie » La réduction des polyèdres convexes à l'intersection de demi-espaces » 03-04-2021 08:14:34
Bonjour Bernard-maths,
... Wiwaxia, je vois que tu es "devenu" raisonnable sur le fait que la donnée des sommets ne suffit pas à définir un polyèdre !
Si tu avais un léger doute, tu as rectifié en disant SI pour un polyèdre convexe ... Je suis en train de chercher un peu, et j'ai trouvé (cjoint suivant) le cas d'un polyèdre, dont on connaît 4 faces, et à compléter par 2 autres faces ... on a 2 possibilités, selon l'arête qu'on décide de choisir ... Et l'un est convexe, l'autre non ! Mais si on veut le convexe, alors y'a pas le choix ...
Quelle référence as-tu pour dire : sauf convexe ? ...
Je me suis effectivement laissé aller à une généralisation hâtive en ce qui concerne l'intervention systématique des vecteurs unitaires, qui ne concerne que les systèmes de points co-sphériques; il n'en reste pas moins que les faces (et donc les arêtes) de tout polyèdre convexe sont entièrement déterminées par la donnée des positions des sommets.
Cela tient au procédé de caractérisation des faces, qui revient à considérer le polyèdre comme l'enveloppe convexe du nuage de points; l'algorithme en a été donné au message #2:
Il faut ensuite inventorier les diverses faces, lesquelles se caractérisent par:
# les indices respectifs (Ja, Jb, Jc) de leurs 3 sommets, donnés dans l'ordre croissant,
# les composantes du vecteur unitaire normal (Un), et
# la distance (Dc) les séparant de l'origine (O) du repère, et dans le cas présent centre de la sphère circonscrite au polyèdre.
Le critère de reconnaissance d'une face consiste en ceci que pour un triplet (i, j, k) donné, tous les autres points sont situés, comme l'origine, du même côté par rapport au plan (Mi, Mj, Mk);
par conséquent les produits mixtes (MiMj, MiMk, MiMl) et (MiMj, MiMk, MiO) sont de même signe pour tout (l) différent de (i, j) et (k).
Il n'y a ici que des faces triangulaires; la présence de faces à plus de 3 sommets n'introduit pas de difficulté insurmontable.
Le contre-exemple que tu donnes contrevient précisément à la règle de sélection décrite:
Le triangle (BCE) n'est pas une face, parce que son plan sépare les deux autres points (A) et (D); les produits mixtes
(BC, BE, BA), (BC, BE, BD)
sont de signes contraires - idem pour le triangle (BDE).
#199 Re : Le coin des beaux problèmes de Géométrie » La réduction des polyèdres convexes à l'intersection de demi-espaces » 02-04-2021 07:38:38
... Qu’en penser ? Ces 2 approches sous-entendent que l’objet est de dimensions finies, autrement dit, qu’on peut le mettre dans une boite (un cube), ou un carré pour un polygone. D’après cela, il n’existe donc pas de polyèdre « infini », ou « ouvert ? » … bien qu’on puisse les envisager !
Par exemple, prenons un vase à base carré, les 4 bords étant des trapèzes (isocèles) allant en s’élargissant … on a déjà 5 faces, on peut en ajouter une sixième en « fermant » le haut en carré. Ce polyèdre est bien un polyèdre donc ! Mais imaginons que les 4 côtés soient « infinis », qu’ils se prolongent indéfiniment. Il n’y a donc que 5 faces, et il est ouvert … mais il n'a que 4 sommets et 8 arêtes ? ...
Il est exclu d'envisager des sommets rejetés à l'infini, ou des arêtes ou des faces de dimensions illimitées:
- le monoèdre - c'est à dire le plan (S = 0, F = 1, A = 0),
- le dièdre (S = 0, F = 2, A = 1),
- le trièdre (S = 1, F = 3, A = 3)
ne sont pas des polyèdres, la relation d'Euler S + F - A = 2 n'est pas vérifiée.
... De plus Wikipedia note au passage qu’il s’agit d’un « solide », et non seulement d’un « volume » … donc un objet « plein » !
Or nous ne percevons que l’aspect extérieur, surfacique … et certaines représentations « artistiques » ne font voir que les arêtes (grossies) ...
Le polyèdre est une portion de l'espace, forcément délimitée par une frontière bien définie - l'ensemble des faces.
Si l'origine (O) est située à l'intérieur du polyèdre convexe, la somme des hauteurs menées depuis un point quelconque (M) permet de caractériser le domaine interne de l'objet (fermé par ses diverses faces) par l'équation:
S(M, hi) - S(O, h'i) = 0 .
... la donnée des sommets ne détermine pas le polyèdre ...
Elle suffit s'il est convexe.
#200 Re : Le coin des beaux problèmes de Géométrie » La réduction des polyèdres convexes à l'intersection de demi-espaces » 01-04-2021 23:09:18
Bonsoir Bernard-maths
La meilleure définition des polyèdres convexes paraît être celle donnée par Mathworld, dans la référence déjà citée
In the usual definition, a polyhedron can be viewed as an intersection of half-spaces
J'en avais déjà pris connaissance dans les années 2000, à une époque où je m'intéressais aux polyèdres inscriptibles dans une sphère, et n'y avais pas donné suite à l'époque, car cette définition m'était d'abord apparue très théorique (faute d'avoir creusé le sujet), et peu susceptible de déboucher sur le calcul des arêtes et des sommets.
C'est l'introduction des valeurs absolues que tu as présentée en décembre dernier qui a permis d'entrevoir tout le parti que l'on pouvait tirer de cette définition.
Par ailleurs, je m'intéressais à l'époque à l'évolution d'un nuage de (N) points en répulsion mutuelle, assujettis ou non à rester à distance fixe de l'origine; la donnée initiale était par conséquent l'ensemble des positions des sommets, de laquelle on peut déduire l'identification et le dénombrement des faces, puis des arêtes.
Tout polyèdre convexe (1) se caractérise ainsi d'une manière exhaustive par trois ensembles de données interdépendantes:
a) la matrice des (Ns) vecteurs unitaires associés aux positions des sommets;
b) le tableau des (Nf) faces dont chacune est caractérisée par
- la liste des sommets présents, dont le nombre est au moins égal à trois,
- les composantes du vecteur unitaire normal définissant l'orientation de chaque face,
- la distance qui la sépare de l'origine du repère (le centre de la sphère circonscrite, si celle-ci existe);
c) le tableau des (Na) arêtes, dont chacune est caractérisée par la donnée de deux couples d'indices:
- celui de la paire de sommets délimitant le segment,
- celui des faces adjacentes dont l'arête est à l'intersection;
de ces deux couples on déduit immédiatement la longueur de l'arête, et l'angle dièdre déterminé par les deux faces.
Ce dernier tableau constitue le cœur de l'organisation interne du polyèdre; les données qu"il contient sont invariantes dans toute rotation ou translation imposée à l'objet.
La programmation des deux premières étapes a déjà été présentée sur plusieurs exemples simples (voir les messages précédents).
La détermination des arêtes s'impose dans le cas de la représentation d'un polyèdre en transparence; c'est un autre sujet qu'il faudrait aborder, mais qui ne présente pas de difficulté majeure.
D'une manière plus systématique, la détermination des éléments du polyèdre commence par celle des sommets selon l'ordre:
sommets ---> faces ---> arêtes ;
on pourrait effectivement commencer par les faces, comme dans le cas du dodécaèdre précédemment décrit: encore une nouvelle démarche calculatoire à explorer.
La rotation de l'objet implique celle des sommets et des faces; il pourrait être pratique d'envisager une "supermatrice" à (Ns + Nf) colonnes et rassemblant tous les vecteurs unitaires associes aux sommets et aux faces: une sorte d'"oursin", rassemblant finalement les positions des sommets du polyèdre et celles de son dual.
(1): j'aurais dû préciser: circonscriptible à une sphère.







