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).

#1 21-07-2010 13:17:08

karlun
Membre
Inscription : 05-05-2010
Messages : 216

Distributeur doré? 1 disque doré inscrit de tg d'or-ment distribuées

'lut,

On est là, on sirote son café, on discute de croisements d'aiguilles d'horloge, d'échecs, de nombres premiers, ...

Autour du nombre d'or, de  [tex]\sqrt{2},\sqrt{3},[/tex]   et d'autres  [tex]\pi{ }[/tex]  encore, on n'a cessé de réfléchir.
On a trouvé mille et une applications, illustrations etc.

En v'là une autre. (j'espère inédite)
Je me dis qu'il y a une bonne (voire excellente) manière de déposer une à une (de répartir) des masse-unes (M1) sur le bord d'un disque parfait posé en son centre sur la pointe d'une aiguille (infiniment pointue, donc en équilibre parfait).
Il est entendu que les premières M1 engendreront un plus grand déséquilibre. (restons théorique)

Si je ne me trompe pas, cette meilleure répartition possible obéit au nombre d'or: on tourne 1,618...tour et on pose la M1.

Comment  montrer (démontrer) que c'est (ou pas) cette juste répartition qui est la meilleure?

Plus théoriquement, en reliant chaque points (de dépôt) avec son précédant et son suivant (à 1,618... tour) par une droite, l'ensemble de ces droites constituent les tangentes à un plus petit cercle intérieur (lui même construit point par point selon cette juste (ou pas) répartition)

Quel est le rapport de ce cercle, de ce disque, (construit à partir des tangentes) avec celui de départ?
Retrouve-t-on  la proportion dorée?

Je trouve ( impossible quadrature) et je cherche (pour le plaisir).
"chi va piano, va sano e va lontano"

A  M1

Hors ligne

#2 21-07-2010 14:21:15

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 17 385

Re : Distributeur doré? 1 disque doré inscrit de tg d'or-ment distribuées

Bien le Bonjour,

Pas évident...
Vu mon expérience des carrés magiques de dimension 4k (*), je dirais que c'est un problème de barycentre...
Le plateau n'est en équilibre que si le Barycentre de tous les points (sur lesquels on a posé les masses unes), affectés d'un coefficient M1 (ou 1 tout court, ça ne change rien) est le centre théorique du disque

Et donc les coefficients étant égaux si j'ai un nombre pair de points, ces points devront être deux à deux symétriques par rapport au centre théorique.
Si le nombre de points est impair, ça change la donne...

As-tu lu ça : http://www.bibmath.net/forums/viewtopic … 461#p15461 ?

Comment es-tu arrivé à ta conclusion ? Comment as-tu calculé 1,618 ?
Hâtons-nous a dit le sage, mais hâtons-nous lentement.... (Confucius) repris bien plus tard en :
Chì va piano va sano, chì va sano va sicuro, chì va sicuro va lontano...

@+

(*)
Ces carrés ne se contentent pas d'être magiques, ils peuvent être également diaboliques (encore aussi dits pandiagonaux) et enchantés.
Si j'affecte à chaque centre d'une case carrée du carré magique un coefficient égal au nombre dans cette case, le barycentre de ces points ne se situe au centre théorique du carré magique que si ledit carré est aussi diabolique et enchanté (seuls les carrés de dimension n=4k peuvent avoir ces 2 ptés supplémentaires)...
C'est ce que j'avais calculé, il y a bien longtemps...

Hors ligne

#3 22-07-2010 19:50:13

karlun
Membre
Inscription : 05-05-2010
Messages : 216

Re : Distributeur doré? 1 disque doré inscrit de tg d'or-ment distribuées

Foutu classeur...
Bonjour!

« Comment  montrer (démontrer) que c'est (ou pas) cette juste répartition qui est la meilleure? »

Alors, le classeur OpenOffice m'aidera:

[tex]2\pi \left(\frac{\sqrt{5}+1}{2}\right)=\,\pi \left(\sqrt{5}-1\right)+2\pi[/tex]

Bon! comme tourner autour d'un piquet ça fait pas avancer je retiens seulement:
[tex]\,\pi \left(\sqrt{5}-1\right)[/tex]; séquence, cycle des déposes des M1.

Alors je compose le tableau:
La répartition des M1 tous les  [tex]\pi /40[/tex] reste  bonne (écart type=0.75) pour 4000 cycles.
Je voulais pousser vers les 12000 ou 16000 cycles mais c'est le tableur qui flanche.

Je crois que je vais me lancer dans l'apprentissage de Pyton (tant vanté par certains) d'autant que je pense que la précision est requise dans ce genre de thème.

Auriez-vous des conseils à donner pour le débutant des débutants?

L'établissement de l'équation d'une des droites reliant deux points de poses sera pour plus tard. (et ensuite le cercle (de même centre) tangent au point milieu de cette droite ne deviendra qu'une formalité sans doute).

Minable classeur salut.

A+-*/

Dernière modification par karlun (22-07-2010 20:03:59)

Hors ligne

#4 22-07-2010 20:30:55

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 17 385

Re : Distributeur doré? 1 disque doré inscrit de tg d'or-ment distribuées

Ave,

Déclaration liminaire.
Je n'ai absolument rien compris et n'ai donc pas la moindre idée de la façon dont tu disposes tes masses sur ton disque.
Le dialogue est mal parti...

Conseils demandés.
Pour Python, je te conseille de télécharger la version 2.7 :
http://www.python.org/download/
1ere ligne : Python 2.7 Windows installer (Windows binary -- does not include source)
Puis télécharge le livre (c'est légal et gratuit) de Gerard Swinnen en allant ici :
http://python.developpez.com/cours/TutoSwinnen/
Et à droite, clique sur version pdf...

Question (non anodine) : as-tu déjà utilisé un langage de programmation ?

@+

PS
1.
Attention un langage de programmation comme Python ne te permettra pas du "calcul formel", i.e. tu ne pourras lui demander de calculer [tex]\sqrt 2 \times \sqrt 3[/tex], par ex, et obtenir l'affichage de [tex]\sqrt 6[/tex]...
2.
Il y a des versions plus récentes (version 3.1), mais elles ne sont pas 100% compatibles avec les versions 2.x et notamment la v. 2.6.2 avec laquelle je travaille (comme 90% des utilisateurs de Python).
3.
Donc, le cas échéant, si je veux pouvoir répondre à une question de ta part, autant que nos versions soient compatibles à 99% au moins...

Dernière modification par yoshi (23-07-2010 08:23:14)

Hors ligne

#5 23-07-2010 19:16:39

karlun
Membre
Inscription : 05-05-2010
Messages : 216

Re : Distributeur doré? 1 disque doré inscrit de tg d'or-ment distribuées

Bien le bonsoir,

« Le dialogue est mal parti.. »

Le dialogue avec le classeur (tableur) était mal parti; il s'était enlisé dans une léthargie restée énigme (pour moi).
Tout était bloqué. Pffff!
D'où, une fois dégagé, cette « efficacité » incompréhensible.
Voyez-m'en désolé.
Reprenons:

1) Un tour de disque = 1*T = 2*pi = 360° = 400 Grades. Travaillons en radians
2) Une masse une (M1) à répartir sur le périmètre de ce disque.
3)  Le nombre d'or: j =  [tex]\left(\frac{1\,\pm\,\sqrt{5}}{2}\right)\,=\,\phi[/tex]
4) La répartition dorée: 1*T * phi
5) [tex]2\pi \left(\frac{1+\sqrt{5}}{2}\right)\,=\,\pi \left(\sqrt{5}-1\right)\,+\,2\pi[/tex]   
6) un cycle = [tex]\pi \left(\sqrt{5}-1\right)[/tex]

7) L'idée est d'examiner la répartition sur le cercle en appliquant ce cycle en série: est-ce la meilleure manière de répartir les M1?
     [tex]n\,\left(\pi \left(\sqrt{5}-1\right)\right)\,-\,ENT\left(\frac{n\pi \left(\sqrt{5}-1\right)}{2\pi }\right)\,2\pi \,=\,\alpha[/tex]

Donc ça tourne et à chaque station (cycle) on dépose M1.

Au moyen du tableur j'analyse la répartition de ces dépôts sur le cercle.

1) selon les 4 points cardinaux.
2) Selon des portions de cercle = T/40 = 2*pi/40

Pour 4000 cycles la répartition est bonne (selon moi)  (v. Tableau).

( ALERTE!!!   Si j'introduis l'image seulement les lettres accentuées se transforment en "?"... bigre!)



(Mon attention a été attirée par la cellule C36=1 pour n=31 et idem pour n=62 =>2 , n=93 => 3, jusque =>6)

J'avais l'idée de modifier (en arrondissant + ou – à la 5ème, à la 6ème décimale) soit Pi soit Phi.
Mais, essais faits, je me méfie de la précision des calculs.

Augmenter le nombre de cycles (12000, y ) et diminuer la taille des portions: T/80, T/x (x>0).

Devant l'incapacité du tableur à suivre cette démarche, je me demande si un programme (une boucle à répéter autant de fois que l'on choisi) ne serait pas le bon moyen de marier l'efficacité et la précision des résultats.

La programmation: je m'y suis intéressé il y a longtemps via un ouvrage de Claude Delannoy: « S'initier à la programmation (avec des exemples en C, C++, C#, Java et PHP) ».

Je te remercie Yoshi pour les références données, je tenterai de m'y mettre sans tarder.

Pour la suite:

A+-*/

P.S.: C36 ne m'intrigue plus.
avec python j'ai un résultat plus précis (0.999..)

C'est génial python!
Mais je coince un peu sur l'attribution des M1 aux 40 (par exemple) portions de circonférence.

# -*- coding: cp1252 -*-
from math import*
z=0             #le compteur
a=pi            #pi
y=2*pi/40       #les portions de circonférence
while(z<50):
    b=(a*z*(-1+sqrt(5)))   #le cycle
    c=b-(int(b/a)*a)       #le cycle - n*2*pi
    print "[",z,"]",b,c,   #juste pour vérifier
    d=1
    while(d<41):
        if (d*y<c):
            if((c<(d+1)*y):
               #et là je ne sais pas comment attribuer une des 40 mémoires pour l'incrémenter de 1.
                #sauf peut-être en incorporant les portions de circonférences dans une liste
               #mais n'est-ce pas trop lourd?
    z=z+1

Dernière modification par karlun (25-07-2010 07:23:36)

Hors ligne

#6 26-07-2010 13:12:18

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 17 385

Re : Distributeur doré? 1 disque doré inscrit de tg d'or-ment distribuées

RE,

J'ai été absent mais me rev'là...
Bon, si je veux comprendre ce que tu bricoles, je suis obligé de te poser quelques questions.
D'abord
Phase ambiguë :

2) Une masse une (M1) à répartir sur le périmètre de ce disque.

Dans ce qui suit j'appellerai Mi les points, O le centre du disque et m1 la masse unité commune.

S'il n'y a qu'un seul point M de masse m1, la seule façon de la "répartir" sur le disque, c'est de la fragmenter en morceaux plus petits et de déposer ces morceaux sur le disque...
Je n'ai pas l'impression que ce soit ça, puisque tu parles de Masse unité...
S'il n'y a qu'une seule masse, tu la poses ou la déposes sur le disque (de rayon R), mais ce ne doit pas être ça non plus...
Si j'imagine le disque comme étant sillonné de n cercles concentriques, poses-tu, chaque masse m1 étant ramenée à un point Mi :
- un Mi sur chaque cercle (1) ?
- Plusieurs Mi par cercle (2) ?

Dans l'hypothèse (2) ci-dessus, si j'ai bien compris, tu poses la première Mi sur le cercle frontière du disque (de rayon R), un point de départ en valant un autre, je te propose de reprendre les notations du cercle trigonométrique et de placer cette masse M1 en (R,0) (coordonnées polaires).

Reprenons ton exemple de 40 masses unités [tex]M_i[/tex] (pour i de 0 à 39 inclus)
Tu pars de M0 (R,0), tu tournes (dans le sens trigonométrique) d'un angle [tex]\theta[/tex], donc après M0 tu poses M1(R,[tex]\theta)[/tex]...
Combien vaut cet angle [/theta[/tex]?
A quel moment passes-tu sur le cercle inférieur ? Et ledit cercle a quel rayon ? Tes multiples du nombre d'or sont-ils des angles [tex]\theta[/tex] (ce que tendrait à dire la présence de Pi)... Sur les 40 Mi, combien par cercle ? Rapport du rayon d'un cercle à son suivant à définir ?
Au passage, tu peux remballer le - de [tex]\frac{1\pm\sqrt 5}{2}[/tex] : ce que tu donnes là sont les deux solutions de l'équation du 2nd degré x²-x-1 = 0.
Vitruve (architecte romain 1er S av. J.C) disait qu'il y avait un rapport harmonieux que si
<< Il y a de la petite partie à la grande le même rapport que de la grande au tout >>

  A         B                   C
  ---------------------------          Soit [tex]{BC \over AB}= {AC \over BC}[/tex]
On pose AB = 1 et BC = x b et on obtient [tex]{x \over 1}={x+1\over x}\Leftrightarrow x^2=x+1 \Leftrightarrow x^2-x-1=0[/tex]
C'est la solution positive des deux qui est appelée nombre d'or et désignée par [tex]\phi[/tex]...
Tu peux aussi noter que :
[tex]\left|{\frac{1}{\dfrac{1-\sqrt 5}{2}}\right|=\left|\frac{2}{1-\sqrt 5}\right|=\left|\frac{2(1+\sqrt 5)}{(1-\sqrt 5)(1+\sqrt 5)}\right|=\left|\frac{2(1+\sqrt 5)}{-4}\right|=\frac{1+\sqrt 5}{2}[/tex]

est-ce la meilleure manière de répartir les M1?

La "meilleure" selon quel(s) critère(s)
- L'harmonie esthétique de la disposition des Mi sur un cercle (ou des cercles) ?
- Selon le nombre de points par cercle pour poser le dernier au centre O du disque ?
- Autre critère ?

Un peu de programmation.
Si tu connais le nombre d'itérations, alors tu peux utiliser un compteur intégré : fini le while z<50 : puis le z=z+1 :
Tu combines les deux en une "boucle for" :
for z in range(50) :
Et il s'arrête avant le 51e passage...

Je te conseille de rajouter en début, avant ou après from math import * : from __future__ import division et ainsi :
2/2 = 1.5 et 3//2 = 1, quotient entier. Ainsi tu peux zapper le int()...
Python 2.x a cette particularité que 5/3 = 1 mais que 5.0/3 = 1.6666... ce qui assez pénible.
Le quotient de 2 entiers y est en effet toujours un entier et le quotient de 2 décimaux -non multiples- toujours un décimal.
Les concepteurs de Python y ont pensé et ma version 2.6 ou ta 2.7 font appel au futur de Python (les versions 3.x)
Quant à from math import *, ça importe l'intégralité du module math, alors que n'utilises ici que pi et sqrt.
Fais plutôt une importation sélective, c'est plus "propre" : from math import pi, sqrt

Pourquoi poser a = pi et ne pas garder pi (pour moi c'est plus clair) ? Pour gagner une lettre ? Bof, bof...

y=2*pi/40       #les portions de circonférence

y est donc une longueur ? Où est le rayon de cercle ? Par commodité, tu décides que R ([tex]R_0[/tex] ?) = 1 ?
Si oui, ok ! Pas de pb ! Si tu l'as écrit, je ne l'ai pas vu (cas de cécité ponctuelle caractérisée, ça arrive).

Et alors je rejoins ma question (voir supra) : tu disposes 40 points [tex]M_0,\;M_1,\;\cdots M_{39}[/tex] sur le même cercle de rayon 1 ? Et comme le rayon est 1, la distance entre deux points consécutifs  et l'angle au centre entre les 2 vecteurs [tex]\overrightarrow{OM_i}\text{  et   }\overrightarrow{OM_{i+1}}[/tex] valent 2*pi/40 soit pi/20 ?
C'est 40 sur chacun des cercles concentriques ?

b=(a*z*(-1+sqrt(5)))   #le cycle

Comment un nombre peut-il être un cycle ?
Un cycle, pour moi, est un ensemble.
b est-il la longueur d'un cycle ? Le n° d'un cycle ?
Je crois comprendre que ta répartition est cyclique, i.e qu'elle revient selon une période donnée.
Par ex, le Cos et Sin sont périodiques de période 2*pi, la tangente périodique de période pi...
Et là ?

#et là je ne sais pas comment attribuer une des 40 mémoires pour l'incrémenter de 1.

Qu'est-ce que tu appelles "mémoire" ? L'incrémenter de i ? C'est qui l' ? Ta "mémoire" ? c ? d ? Si d voir emploi boucle for)
En tout cas je faire gagner une lettre au moins : En Python z = z + 1 peut s'écrire z+=1, karlun = karlun - 10 --> karlun -= 10, etc...

Je ferai les tests lorsque j'aurai compris ton propos : tu n'aurais pas le dessin d'un disque (avec en + plusieurs cercles concentriques) et tes points Mi répartis soit sur le cercle périphérique, soit sur les cercles ?

Si tu veux stocker 40 positions, angles, longueurs... Oui, il te faut utiliser une liste ; non, ce n'est pas trop lourd
Tu déclares : Memoires =[]
puis par exemple, tu stockes les position, angle, longueur ainsi : Memoires.append(position) ou Memoires.append(angle)... etc...
Tiens, pour toi :

# usr/bin/env python
# -*- coding: cp1252 -*-

from __future__ import division

fibo=[0,1]
z=0
for i in range(1,31):
    fibo.append(fibo[i]+fibo[i-1])
   
print fibo
print fibo[i]/fibo[i-1]

Curieux dernier affichage, n'est-il pas ? comme disent les Grands-bretons...
Teste et tu verras...

@+

Hors ligne

#7 27-07-2010 19:51:50

karlun
Membre
Inscription : 05-05-2010
Messages : 216

Re : Distributeur doré? 1 disque doré inscrit de tg d'or-ment distribuées

Sal  -9   (.... un-10)

Je n'avais eu que le temps (hier) de survoler le dernier post. Il me restait en tête.
Sa lecture plus attentive m'invite à mieux préciser mon propos.

Je prends en attendant bonne note (enfin ça dépend) que: un moins dix c'est dix (points) de moins.

J'm'attendais à ce qu'on me lourdes sur les unités (en kg?, en gr?) à propos de la lourdeur du maniement des listes... ben non!

Mes +-*/ et autres (que je m'incite à étoffer) ne font que ce qu'ils peuvent et pour mon plaisir. « chi va piano... »

Python j'connais pas encore. Les 80 premières pages m'ont confirmé que la programmation pourra montrer si oui ou non phi entre dans  la « meilleure répartition » d'une infinité de points  sur une circonférence de rayon un.
Merci, Yoshi, pour tes conseils.

Par « meilleure répartition » j'entends que les coordonnées (polaires par exemple) des points soient équitablement réparties de la manière la plus rapide et suivant un cycle (commandé par phi ou pas) , sur une circonférence de rayon 1 .

Là, maintenant, je dois ailleurs.

A -9


P.S.: (Le code que tu m'invites à exécuter ne donne rien).

Hors ligne

#8 27-07-2010 20:06:05

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 17 385

Re : Distributeur doré? 1 disque doré inscrit de tg d'or-ment distribuées

Re,

P.S.: (Le code que tu m'invites à exécuter ne donne rien).

Rien ?
Fichtre !
Pas de message d'erreur non plus ?
La version de Python dont tu disposes est bien la 2.7 ? Le dossier chez moi se nomme Python26, tu dois avoir Python27)
Tu as fait un copier/coller, respecté l'indentation ?
Tu as bien enregistré ensuite ton fichier avec le nom que tu veux, par exemple fibo.py avec l'extension .py ?
Il est impératif d'enregistrer un fichier avec une extension, par ex : .py...

@+

PS
Voilà ce que j'obtiens chez moi :

Python 2.6 (r26:66721, Oct  2 2008, 11:35:03) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.

    ****************************************************************
    Personal firewall software may warn about the connection IDLE
    makes to its subprocess using this computer's internal loopback
    interface.  This connection is not visible on any external
    interface and no data is sent to or received from the Internet.
    ****************************************************************
   
IDLE 2.6.4     
>>> ================================ RESTART ================================
>>>
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040, 1346269]
1.61803398875
>>>

1.61803398875 : valeur approchée "exacte" à 10^{-11} près

PS2
Je viens d'installer Python 2.7 :

Python 2.7 (r27:82525, Jul  4 2010, 09:01:59) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>>
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040, 1346269]
1.61803398875
>>>

Ça marche très bien...

Dernière modification par yoshi (28-07-2010 10:44:43)

Hors ligne

#9 29-07-2010 12:50:41

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 17 385

Re : Distributeur doré? 1 disque doré inscrit de tg d'or-ment distribuées

Re,


On reprend...
Soit un disque de rayon 1.
Les masses Mi sont toutes égales d'une valeur unité m1
En reprenant les notations trigonométriques, en coordonnées polaires :
* Si  tu poses la première masse M0 en (1,0),
* Tu poses la 2e masse M1 en (1,[tex]\theta[/tex]) ? Combien vaut [tex]\theta[/tex] ? [tex]\phi\text{ rad, }\frac{1}{\phi}\text{ rad }[/tex] ?
* Tu poses la 3e masse M2 en (1,[tex]2\theta[/tex]) ? en (1,[tex]\phi\theta[/tex]) ?

Commence déjà à expliciter ça, parce que je me paume un peu...

Merci d'avance.

@+

Hors ligne

#10 29-07-2010 17:58:25

karlun
Membre
Inscription : 05-05-2010
Messages : 216

Re : Distributeur doré? 1 disque doré inscrit de tg d'or-ment distribuées

Salut,

Erreur de débutant sans doute j'avais lancer ton code à partir du prompt >>>
Après ta réponse j'ai créé un fichier et bingo.

Dernière ligne droite, demain, au boulot, avant une certaine forme de vacance (2 ou 3 semaines) en montagne, à la dur et... mais loin de bibM@th.

Karlun a écrit :

1) Un tour de disque = 1*T = 2*pi = 360° = 400 Grades. Travaillons en radians
2) Une masse une (M1) à répartir sur le périmètre de ce disque.
3)  Le nombre d'or: j =  [tex]\left(\frac{1\,\pm\,\sqrt{5}}{2}\right)\,=\,\phi [/tex]
4) La répartition dorée: 1*T * phi
5) [tex]2\pi \left(\frac{1+\sqrt{5}}{2}\right)\,=\,\pi \left(\sqrt{5}-1\right)\,+\,2\pi [/tex]   
6) un cycle = [tex]\pi \left(\sqrt{5}-1\right) [/tex]

7) L'idée est d'examiner la répartition sur le cercle en appliquant ce cycle en série: est-ce la meilleure manière de répartir les M1?

L'idée est de pointer (marquer un point (ou une M1 si on veut mais soyons théorique) à) chaque cycle sur une circonférence (en s'épargnant les tours (2*pi) inutiles).

Et donc le troisième pointage sera au deuxième cycle accompli, le 4° au 3° etc..

Karlun a écrit :

...oui ou non phi entre dans  la « meilleure répartition » d'une infinité de points  sur une circonférence de rayon un.
...
Par « meilleure répartition » j'entends que les coordonnées (polaires par exemple) des points soient équitablement réparties de la manière la plus rapide et suivant un cycle (commandé par phi ou pas) , sur une circonférence de rayon 1 .

Si non quelle serait-elle?

Si c'est elle =>

Karlun a écrit :

Plus théoriquement, en reliant chaque points (de dépôt) avec son précédant et son suivant (à 1,618... tour) par une droite, l'ensemble de ces droites constituent les tangentes à un plus petit cercle intérieur (lui même construit point par point selon cette juste (ou pas) répartition)

Quel est le rapport de ce cercle, de ce disque, (construit à partir des tangentes) avec celui de départ?
Retrouve-t-on  la proportion dorée?

Voilà, j'espère que c'est plus clair. (soyez indulgents pour mes manques de rigueur mais vos remarques, j'en prends bonnes notes).

Et tes talents, Yoshi, pourront, via la programmation, montrer ce qui convient de convenir afin (peut-être) d'arriver à démontrer (ça pour moi c'est la montagne).

Là haut sur la montagne...

J'ai du chemin à faire.

A+-*/

Hors ligne

#11 29-07-2010 20:03:28

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 17 385

Re : Distributeur doré? 1 disque doré inscrit de tg d'or-ment distribuées

Salut,

C'est évident pour toi, pas pour moi : je n'ai toujours pas compris comment tu poses tes points.
Toutes les citations que tu donnes de tes textes, je les ai lues et relues ; hélas, je ne suis pas plus avancé.
Alors tu fais table rase, s'il te plaît et tu repars de zéro : à quoi te sert de les ressortir, si je t'ai déjà dit que je ne comprenais pas ?
Je t'avais questionné ainsi :

Soit un disque de rayon 1.
Les masses Mi sont toutes égales d'une valeur unité m1
En reprenant les notations trigonométriques, en coordonnées polaires :
* Si  tu poses la première masse M0 en (1,0),
* Tu poses la 2e masse M1 en (1,[tex]\theta[/tex]) ? Combien vaut [tex]\theta[/tex] ? [tex]\phi\text{ rad, }\frac{1}{\phi}\text{ rad }[/tex] ?
* Tu poses la 3e masse M2 en (1,[tex]2\theta[/tex]) ? en (1,[tex]\phi\theta[/tex]) ?

Commence déjà à expliciter ça, parce que je me paume un peu...

Et tu réponds non pas à ces questions, mais en te citant (cf supra)...
J'avais pourtant essayé de simplifier..
Je vais donc cette fois essayer d'être basique  :
Sur ton disque de rayon 1 :
1. Mets-tu un point Mi et un seul (donc M0) sur le cercle de rayon 1 ? OUI - NON.
2. Si NON, comment les Mi sont-ils disposés sur ce cercle de rayon 1? Voir mes questions ci-dessus.
3. Si OUI, en partant de M0(1,0), quelles sont les coordonnées du point suivant M1 ? Autrement dit avec M1(x,[tex]\phi [/tex]), combien vaut le rayon x (puisque tu sembles dire que tu opères une rotation de [tex]\phi[/tex], ton 1,618) ?
4. Qu'appelles-tu un cycle (à part une roue de vélo) ? Y a-t-il un nombre de points déterminés dans un cycle ?
5. Pourquoi ne réalises-tu pas un dessin exemple pour le poster ?

@+

PS
Bonnes vacances...
Respire bien l'air pur des cimes et procure-toi la BD de F'murr (tu pourras ainsi t'exercer les zygomatiques) : le génie des alpages...
C'est vieux, mais ça doit encore se trouver sur le Net : je m'étais régalé avec...

La-haut sur la montagne, ça me rappelle une chanson d'étudiant :
La-haut sur la montagne,
Les deux pieds les deux mains dans la m...
La-haut sur la montagne,
Y avait un gros cu,
Un gros curé de campagne,
Les deux pieds...
etc...

Hors ligne

#12 29-07-2010 21:25:33

karlun
Membre
Inscription : 05-05-2010
Messages : 216

Re : Distributeur doré? 1 disque doré inscrit de tg d'or-ment distribuées

r'lut

Sur ton disque de rayon 1 :
1. Mets-tu un point Mi et un seul (donc M0) sur le cercle de rayon 1 ? OUI - NON.
2. Si NON, comment les Mi sont-ils disposés sur ce cercle de rayon 1? Voir mes questions ci-dessus.
3. Si OUI, en partant de M0(1,0), quelles sont les coordonnées du point suivant M1 ? Autrement dit avec M1(x,), combien vaut le rayon x (puisque tu sembles dire que tu opères une rotation de , ton 1,618) ?
4. Qu'appelles-tu un cycle (à part une roue de vélo) ? Y a-t-il un nombre de points déterminés dans un cycle ?
5. Pourquoi ne réalises-tu pas un dessin exemple pour le poster ?

1. + 2.    Je mets une infinité de points (Pi... pas  [tex]\pi [/tex] ) (plus de Mi sauf si Mi=Pi), un par un. (un puis un autre, puis un autre selon un cycle.)

3. le rayon x =1. Pourquoi changerait-il sans que je l'annonce modifié? Partons de P0(1,0), le point suivant sera à  [tex]\pi \left(\sqrt{5}-1\right)[/tex]radian dans le sens trigonométrique bien entendu. Ses coordonnées Pfff! pas le courage ce soir.

4. C'est la roue de vélo, au bout du bout du pneu usé du bitume. sauf qu'un cycle aura fait tourné la roue de  [tex]\pi \left(\sqrt{5}-1\right)[/tex] radian ou de  [tex]180\left(\sqrt{5}-1\right)[/tex] degré.

5. Eh oui pourquoi pas? peut-être dans le sable fin d'une plage au bord d'un lac là haut sur la montagne.

Faut que je me repose.
Mais j'y pense.

A+-*/

Hors ligne

#13 01-08-2010 21:45:51

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 17 385

Re : Distributeur doré? 1 disque doré inscrit de tg d'or-ment distribuées

Re,

Tu me lis, alors t'es rentré de tes ouacances ? Bien reposé, poumons et cerveau gorgés d'oxygène ?

Je pense avoir (enfin) compris.
Nettoyons tout ça des mots pièges...
Donc sur le bord d'un disque de rayon 1 de centre O tu vas répartir 40 points Pi, le 1er [tex]P_0[/tex] ayant comme coordonnées (1,0), chacun des suivants faisant un angle au centre égal à [tex]pi(\sqrt 5 - 1)[/tex].
J'ai calculé via Python, en prenant comme unité d'angle le demi-tour pour la valeur exacte dans cette unité, puis la valeur approchée de l'angle en radian(s)...
Les angles orientés successifs auront pour noms :]
[tex](\overrightarrow{OP_0},\overrightarrow{OP_1}),\;(\overrightarrow{OP_0},\overrightarrow{OP_2}),\;(\overrightarrow{OP_0},\overrightarrow{OP_3})...[/tex]

Mais dès qu'on arrive à P2 : [tex]2\sqrt 5 -2[/tex] dépasse 2 demi-tours (soit un tour complet, soit 2pi)  et donc par commodité, à chaque fois que cela se produira, tu reviendras à l'intervalle [0 ; 2] en retranchant 2...

Si c'est bien ça je te livre les calculs d'angles faits en Python, pour préparer l'affichage LaTeX (inconnu de Python) et pour les points P1, P2, P3...........P39.
Tous les angles (en demi-tours) sont de la forme [tex]a\sqrt 5 - b[/tex] a et b étant des naturels...
Pour savoir très vite si  [tex]a\sqrt 5 - b>2[/tex], je teste si 5a² >(b+2)², si oui j'ajoute 2  à la valeur courante de b.
Mon petit programme est une boucle de 39 tours qui fait a+1, b+1, puis le test ci-dessus, rectifie b au besoin, puis affiche.
Voila ce que ça donne :

  1   [tex]\;\;1\sqrt 5 -  1[/tex]   3.8832220774518494142
  2   [tex]\; \;2\sqrt 5 -  4[/tex]   1.4832588477236988284
  3   [tex]\;\;3\sqrt 5 -  5[/tex]   5.3664809251755482427
  4   [tex]\;\;4\sqrt 5 -  8[/tex]   2.9665176954442560642
  5   [tex] \;\;5\sqrt 5 - 11[/tex]   0.56655446571610547847
  6   [tex]\; \;6\sqrt 5 - 12[/tex]   4.4497765431710964854
  7   [tex] \;\;7\sqrt 5 - 15[/tex]   2.0498133134398043069
  8   [tex]\; \;8\sqrt 5 - 16[/tex]   5.9330353908947953138
  9   [tex]\;\;9\sqrt 5 - 19[/tex]   3.5330721611666447280
10   [tex]10\sqrt 5 - 22[/tex]   1.1331089314322109569
11   [tex]11\sqrt 5 - 23[/tex]   5.0163310088903435565
12   [tex]12\sqrt 5 - 26[/tex]   2.6163677791527681927
13   [tex]13\sqrt 5 - 29[/tex]   0.21640454942556008476
14   [tex]14\sqrt 5 - 30[/tex]   4.0996266268858917992
15   [tex]15\sqrt 5 - 33[/tex]   1.6996633971483164354
16   [tex]16\sqrt 5 - 34[/tex]   5.5828854746095906276
17   [tex]17\sqrt 5 - 37[/tex]   3.1829222448814400418
18   [tex]18\sqrt 5 - 40[/tex]   0.78295901514072308544
19   [tex]19\sqrt 5 - 41[/tex]   4.6661810926051388703
20   [tex]20\sqrt 5 - 44[/tex]   2.2662178628644219139
21   [tex]21\sqrt 5 - 45[/tex]   6.1494399403288376987
22   [tex]22\sqrt 5 - 48[/tex]   3.7494767106006871130
23   [tex]23\sqrt 5 - 51[/tex]   1.3495134808568285639
24   [tex]24\sqrt 5 - 52[/tex]   5.2327355582929700149
25   [tex]25\sqrt 5 - 55[/tex]   2.8327723285805273924
26   [tex]26\sqrt 5 - 58[/tex]   0.43280909885237680658
27   [tex]27\sqrt 5 - 59[/tex]   4.3160311762885182575
28   [tex]28\sqrt 5 - 62[/tex]   1.9160679465729340424
29   [tex]29\sqrt 5 - 63[/tex]   5.7992900240122170860
30   [tex]30\sqrt 5 - 66[/tex]   3.3993267942840665002
31   [tex]31\sqrt 5 - 69[/tex]   0.99936356456534069240
32   [tex]32\sqrt 5 - 70[/tex]   4.8825856420077653287
33   [tex]33\sqrt 5 - 73[/tex]   2.4826224122890395208
34   [tex]34\sqrt 5 - 76[/tex]   0.082659182560260616544
35   [tex]35\sqrt 5 - 77[/tex]   3.9658812600033135713
36   [tex]36\sqrt 5 - 80[/tex]   1.5659180302814461709
37   [tex]37\sqrt 5 - 81[/tex]   5.4491401077270123998
38   [tex]38\sqrt 5 - 84[/tex]   3.0491768780051449993
39   [tex]39\sqrt 5 - 87[/tex]   0.64921364827699441355

Voilà, que peux-tu en faire ?
Je réfléchis maintenant à des calculs d'angles avec les points pris 2 par 2, pour terminer avec 2 points :
Si le segment qui les joint ne passe pas par O, alors ton disque ne sera pas à l'équilibre. Dans ce cas, j'arrête là ; dans le cas contraire il faudra que je calcule Masse résultante x distance au centre pour chaque point.
ce n'est qu'en cas d'égalité que je pourrais affirmer que le plateau en équilibre.

Mais, je ne veux pas de calculs approchés, alors je vais devoir trouver une méthode de calculs usant de valeurs exactes. Et ça, ce n'est pas gagné...

@+

Hors ligne

#14 14-08-2010 18:36:23

karlun
Membre
Inscription : 05-05-2010
Messages : 216

Re : Distributeur doré? 1 disque doré inscrit de tg d'or-ment distribuées

Dévalant,
salut
du haut en bas.
Marchant-pensant.

Mes énoncés semblent obscures?
Pour certains...
« 5. Pourquoi ne réalises-tu pas un dessin exemple pour le poster ? »
Voici:
http://img809.imageshack.us/img809/684/dsc2106.jpg
http://img836.imageshack.us/img836/6777/dsc2111.jpg
http://img227.imageshack.us/img227/5337/dsc2113.jpg

Évidemment la seule tangente au cercle intérieur, présente sur le dessin, peut être multipliée à l'infini; la droite  joignant deux à deux l'infinité des points d'orement  répartis (ou pas ).
Cette répartition d'orement cyclée suppose qu'elle puisse se poursuivre une infinité de fois. (et pas seulement 40).
Avec l'aide de python, cette animation:

from turtle import*
from math import*
reset()
a=0
while a<120:
    a=a+1
    forward (300)
    left((sqrt(5)-1)*180)

Et enfin un petit programme (python) reprenant l'analyse de la répartition des points sur le cercle selon un cycle lié au nombre d'or.
Sûrement il y aura à redire... et comme j'ai tout à apprendre, ça tombe bien.


# -*- coding: cp1252 -*-
from math import*
def liste():
    #fabrique une liste de np portions de circonférence
    portion=[]
    global np
    global base
    n=0
    while n<np:
        p=(base/np)*n
        portion.append(p)     #mise en liste
        n=n+1
    return portion

def repDoree():
    "crée la liste des points répartis sur les portions de cercle"
    z=0                             
    repartition=[]                    #liste répartition vide
    global nbCycle
    global base
    while(z<nbCycle):
        b=(base/2*z*(sqrt(5)-1))              #le cycle
        c=b-int(b/(base))*base          #le cycle - n*2*180°
        repartition.append(c)
        z=z+1
    return repartition

def accumulateur():
    "additionneur des points posés selon chacune des portions de cercle"
    accumulateur=[]
    global np
    n=0
    while n<np:
        p=0
        accumulateur.append(p)     #mise en liste
        n=n+1
    return accumulateur


np=input("nbPortions? :")               #par exemple: 500
nbCycle=input("nbCycle? :")             #par exemple: 500000
                       #on obtient un résultat tournant autour de 1000 (+/ 2).
base=360.
print base,np,nbCycle
a= liste()
b=repDoree()
c=accumulateur()
z=0
while (z<nbCycle):
    p=base/np
    n=int(b[z]/p)
    c[n]=c[n]+1
    z=z+1
print c


Je me penche, plus avant, sur ton dernier post que je n'ai encore que survolé.

Pour la suite...
A+-*/

Hors ligne

#15 14-08-2010 19:45:46

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 17 385

Re : Distributeur doré? 1 disque doré inscrit de tg d'or-ment distribuées

Re,

Tiens, il est "reviendu"... Avec des images magnifiques, à faire rêver les gens des plaines (je n'en suis pas : moi, les montagnes sont à "portée de ma main") !

Bon, la tortue semble montrer que la liste des positions des 40 points que j'ai donnée est correcte.
Par contre, hélas ton programme Python (fonctionnel au demeurant, même s'il y a des choses à dire sur sa correction structurelle) ne m'explique toujours pas ce que tu appelles un cycle, ni un nombre de cycles : si je réponds au hasard à ses questions il finit par planter...

np=input("nbPortions? :")               #par exemple: 500
nbCycle=input("nbCycle? :")             #par exemple: 500000
                       #on obtient un résultat tournant autour de 1000 (+/ 2).

40 points (en partant de (1,0), c'était un exemple : si t'en veux 40000 je t'envoie mon utilitaire où tu remplaces 40 par 40000, hein, c'est pas le pb...

J'avais entrepris d'écrire un petit prog dichotomique qui groupe les points par 2, et calcule les coordonnées des barycentres, et de nouveau de 2 en 2 jusqu'à la fin pour voir si le point final résultant est placé au centre du disque et dans ce cas la répartition est optimum pour nombre de points donnés :
           H
P2  _________P3
     \      |      /
       \    |    /
         \  |  /
           \|/
           O
L'angle [tex]\widehat{P_2OP_3}[/tex] vaut [tex]\pi(\sqrt 5 -1)[/tex], je l'appelle [tex]\theta[/tex]
Le point H aura pour masse 2 et [tex]\widehat{HOP_3}={\theta \over 2}[/tex], c'est le barycentre des points P2 et P3 affectés du coefficient 1 (ta masse unité).
J'aurai aussi besoin de la longueur [tex]OH = OP_3\times \cos{\theta \over 2}[/tex]
Si j'ai 40 points, je fais 2 groupes de 20 que j'associe 2 par 2 jusqu'à ce qu'il ne reste plus qu'un point Hi et Hj par groupe je regarde alors si [tex] [tex]\widehat{H_iOH_j}=\pi[/tex] et si [tex]OH_i\times Masse_i = OH_j\times Masse_j[/tex].
J'avais commencé l'écriture du calcul des angles et des masses et pas poursuivi...
Cela vaut-il le coup ?

Entretemps, j'ai réécrit mon 1er programme fait sur une TI 66 programmable (il y a 25 ans) : Passage d'une base à une autre (entre 2 et 36) suite à la publication de golgup, et là je reprends l'écriture de mon chef d'œuvre d'il y a 20 ans (en Basic Amstrad 6128) mais en Python et je souffre : j'ai oublié plein de mes astuces et même si j'ai encore cette version en Basic, c'est tellement mal écrit que je ne me comprends pas toujours.
C'est qui le chef d'oeuvre ? Un programme de conjugaison incollable qui soit conjugue à ta place soit te laisse conjuguer et te corrige.
Un Bescherelle électronique, quoi, mais sans liste de verbes préétablie et de plus il détermine de lui-même en 3 lignes de code si un verbe en ir est du 2e ou 3e groupe...
Les maths mènent à tout...

Pas sûr d'avoir été clair ce soir...

@+

PS, en fait  c'est l'angle rentrant [tex]\widehat{P_2OP_3}[/tex] qui vaut [tex]\pi(\sqrt 5 -1)[/tex], le saillant vaut lui : [tex]\pi(\sqrt 5 -1)-\pi=\pi(\sqrt 5 -2)[/tex], parce que  [tex]\pi(\sqrt 5 -1)>\pi[/tex]

Dernière modification par yoshi (14-08-2010 19:49:10)

Hors ligne

#16 14-08-2010 20:29:09

karlun
Membre
Inscription : 05-05-2010
Messages : 216

Re : Distributeur doré? 1 disque doré inscrit de tg d'or-ment distribuées

Bonsoir,

Un cycle: "Succession de phénomènes présentant un caractère de périodicité dans le temps ou, plus rarement, dans l'espace, et constituant les étapes d'une évolution de l'état initial à l'état final".

nbCycle est le nombre d'étapes distribuant un point sur la circonférence.
pour nbCycle= 500000, il y aura 500000 points sur la circonférence.

nbPortions est le nombre de portions (identiques) souhaitées; résultat de la division du cercle en autant d'éléments.
Pour nbPortion = 500, il y aura 500 portions identiques équitablement répartie le long de la circonférence.   

Pour la petite histoire j'ai poussé beaucoup plus les nbCycles et nbPortions mais c'est une erreur mémoire que l'ordi m'a rendue.

C'était l'idée que je comptais poursuivre pour montrer qu'aussi petits que soient les portions et aussi grand le nombre de cycles, le nombre de points par portion est +- équivalent ce qui montrera que c'est une juste répartition; mais est-ce la meilleure?

Il me semble que l'idée de barycentre arrivera également à un résultat prometteur.

pour la suite...

A+-*/

Hors ligne

#17 15-08-2010 11:05:21

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 17 385

Re : Distributeur doré? 1 disque doré inscrit de tg d'or-ment distribuées

Re,

Cher Karl I, qu'est-ce que je deviendrais sans toi ?
Parce que
1. Dans ma carrière de Prof de Maths (et un temps de Physique et de Technologie), je n'avais jamais rencontré le mot 'cycle',
2. Mon niveau de français frise le niveau zéro,
3. Je pense que tu as dû tirer ta définition d'un truc qu'on appelle "Dictionnaire" :  ignorant ce que c'était, je n'en avais pas chez moi... Si si ! Incroyable mais vrai,
4. Maintenant que j'ai vu ce que c'était, je n'en ai toujours pas parce que je ne saurais pas m'en servir (merci de m'apprendre) ...

Je t'ai toujours demandé ce que TOI, TU entendais par cycle, pas le dictionnaire : les définitions de mathématiques des dictionnaires (fussent-ils en ligne, je "m'asseois dessus"). Ce n'est sûrement pas une référence !

A la lecture de tes explications, j'ai d'abord cru que tu commençais par découper ton cercle en nb arcs (faut appeler un chat un chat et pas un minet, hein, il peut y avoir confusion sinon) égaux et que sur chaque arc tu plaçais np points équidistants...
Que nenni ! A la relecture après avoir décortiqué ton prog Python, j'ai dû me rendre à l'évidence : un cycle pour toi ça consiste à poser un point...

Donc si j'ai bien compris :
- tu poses nb_p points sur le cercle,
- tu partages ensuite le cercle en nb_a arcs de même mesure ("égaux", si tu préfères)
- tu examines la répartition de ces points entre tes différents arcs afin de voir si la répartition est homogène.

Oui ?

Bin, il aura fallu 20 posts pour dire ça ?

Voilà un chti programme qui affiche la valeur exacte de la position angulaire de 40 points puis, sa valeur approchée en degrés...

# usr/bin/env python
# -*- coding: cp1252 -*-

from __future__ import division
from math import sqrt

aa,bb=-1,-1

for i in range(40):
    aa+=1
    bb+=1
    if 5*aa**2>(bb+2)**2:
        bb+=2
    print "[tex]\pi("+str(aa)+"\sqrt 5"+" - "+str(bb)+')\;\\approx ',
    print (aa*sqrt(5)-bb)*180[/tex]

Le résultat :
[tex]\pi(0\sqrt 5 - 0)\;\approx  0.0 [/tex]
[tex]\pi(1\sqrt 5 - 1)\;\approx  222.49223595 [/tex]
[tex]\pi(2\sqrt 5 - 4)\;\approx  84.9844718999 [/tex]
[tex]\pi(3\sqrt 5 - 5)\;\approx  307.47670785 [/tex]
[tex]\pi(4\sqrt 5 - 8)\;\approx  169.9689438 [/tex]
[tex]\pi(5\sqrt 5 - 11)\;\approx  32.4611797498 [/tex]
[tex]\pi(6\sqrt 5 - 12)\;\approx  254.9534157 [/tex]
[tex]\pi(7\sqrt 5 - 15)\;\approx  117.44565165 [/tex]
[tex]\pi(8\sqrt 5 - 16)\;\approx  339.9378876 [/tex]
[tex]\pi(9\sqrt 5 - 19)\;\approx  202.43012355 [/tex]
[tex]\pi(10\sqrt 5 - 22)\;\approx  64.9223594996 [/tex]
[tex]\pi(11\sqrt 5 - 23)\;\approx  287.41459545 [/tex]
[tex]\pi(12\sqrt 5 - 26)\;\approx  149.9068314 [/tex]
[tex]\pi(13\sqrt 5 - 29)\;\approx  12.3990673495 [/tex]
[tex]\pi(14\sqrt 5 - 30)\;\approx  234.891303299 [/tex]
[tex]\pi(15\sqrt 5 - 33)\;\approx  97.3835392494 [/tex]
[tex]\pi(16\sqrt 5 - 34)\;\approx  319.875775199 [/tex]
[tex]\pi(17\sqrt 5 - 37)\;\approx  182.368011149 [/tex]
[tex]\pi(18\sqrt 5 - 40)\;\approx  44.8602470993 [/tex]
[tex]\pi(19\sqrt 5 - 41)\;\approx  267.352483049 [/tex]
[tex]\pi(20\sqrt 5 - 44)\;\approx  129.844718999 [/tex]
[tex]\pi(21\sqrt 5 - 45)\;\approx  352.336954949 [/tex]
[tex]\pi(22\sqrt 5 - 48)\;\approx  214.829190899 [/tex]
[tex]\pi(23\sqrt 5 - 51)\;\approx  77.3214268491 [/tex]
[tex]\pi(24\sqrt 5 - 52)\;\approx  299.813662799 [/tex]
[tex]\pi(25\sqrt 5 - 55)\;\approx  162.305898749 [/tex]
[tex]\pi(26\sqrt 5 - 58)\;\approx  24.798134699 [/tex]
[tex]\pi(27\sqrt 5 - 59)\;\approx  247.290370649 [/tex]
[tex]\pi(28\sqrt 5 - 62)\;\approx  109.782606599 [/tex]
[tex]\pi(29\sqrt 5 - 63)\;\approx  332.274842549 [/tex]
[tex]\pi(30\sqrt 5 - 66)\;\approx  194.767078499 [/tex]
[tex]\pi(31\sqrt 5 - 69)\;\approx  57.2593144488 [/tex]
[tex]\pi(32\sqrt 5 - 70)\;\approx  279.751550399 [/tex]
[tex]\pi(33\sqrt 5 - 73)\;\approx  142.243786349 [/tex]
[tex]\pi(34\sqrt 5 - 76)\;\approx  4.73602229871 [/tex]
[tex]\pi(35\sqrt 5 - 77)\;\approx  227.228258249 [/tex]
[tex]\pi(36\sqrt 5 - 80)\;\approx  89.7204941986 [/tex]
[tex]\pi(37\sqrt 5 - 81)\;\approx  312.212730149 [/tex]
[tex]\pi(38\sqrt 5 - 84)\;\approx  174.704966099 [/tex]
[tex]\pi(39\sqrt 5 - 87)\;\approx  37.1972020485 [/tex]

Et les valeurs rangées dans la liste b de ton programme :
[0.0, 222.49223594996215, 84.984471899924301, 307.47670784988645, 169.9689437998486, 32.461179749810753, 254.9534156997729, 117.44565164973505, 339.93788759969721, 202.43012354965958, 64.922359499621507, 287.41459544958389, 149.90683139954581, 12.399067349508186, 234.89130329947011, 97.383539249432488, 319.87577519939441, 182.36801114935679, 44.860247099319167, 267.35248304928155, 129.84471899924301, 352.33695494920539, 214.82919089916777, 77.321426849130148, 299.81366279909162, 162.30589874905399, 24.798134699016373, 247.29037064897875, 109.78260659894022, 332.2748425489026, 194.76707849886498, 57.259314448827354, 279.75155039878882, 142.2437863487512, 4.7360222987135785, 227.22825824867596, 89.720494198638335, 312.2127301485998, 174.70496609856309, 37.197202048524559]

Ça colle...

Autre calcul :

360.0 500 500000
[1001, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 999, 1001, 999, 1002, 998, 1001, 999, 1001, 999, 1000, 1001, 999, 1001, 998, 1002, 1000, 1000, 1000, 1000, 999, 1001, 1000, 1000, 999, 1000, 1001, 1000, 1000, 1000, 1001, 998, 1002, 998, 1002, 999, 999, 1000, 1000, 1001, 1000, 1000, 999, 1001, 1000, 1001, 999, 999, 1000, 1001, 999, 1001, 999, 1000, 1001, 999, 1001, 1000, 1001, 998, 1000, 1001, 1000, 1001, 999, 1000, 999, 1001, 1001, 999, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 999, 1001, 1000, 1000, 1000, 999, 1000, 1001, 999, 1001, 999, 1001, 1000, 1000, 1000, 1000, 999, 1001, 1000, 998, 1002, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1001, 999, 999, 1001, 999, 1001, 1000, 1000, 999, 1001, 999, 1002, 1000, 999, 1000, 999, 1001, 999, 1001, 999, 1000, 1000, 1001, 1000, 1000, 1000, 999, 1000, 1001, 1000, 1000, 1001, 998, 1000, 1001, 1001, 998, 1001, 1000, 1000, 1001, 999, 1001, 998, 1000, 1001, 999, 1001, 1000, 999, 1001, 1000, 1000, 1000, 999, 1000, 1001, 1000, 1000, 1000, 999, 1001, 999, 1000, 1001, 999, 1001, 999, 1001, 1000, 1000, 999, 1000, 1001, 1000, 1001, 1000, 999, 1000, 1000, 1000, 999, 1000, 1001, 1000, 1001, 999, 1001, 999, 1000, 999, 1000, 1001, 999, 1000, 1001, 999, 1001, 1000, 999, 1000, 1001, 1000, 1000, 1000, 999, 1001, 999, 1001, 998, 1001, 1002, 999, 1000, 1001, 999, 1000, 1000, 999, 1001, 999, 1001, 999, 1001, 1000, 1001, 998, 1000, 1000, 1001, 1001, 998, 1001, 999, 1001, 999, 1001, 999, 1000, 1000, 1001, 1000, 1000, 1000, 999, 1000, 1000, 1001, 1000, 1001, 998, 1001, 1000, 1001, 998, 1000, 1001, 999, 1002, 999, 1001, 999, 1000, 999, 1001, 999, 1001, 999, 1000, 1001, 1000, 1000, 999, 1000, 1000, 1002, 998, 1002, 999, 999, 1001, 999, 1000, 1000, 1001, 1000, 1000, 1000, 1001, 999, 1000, 1000, 999, 1000, 1001, 999, 1001, 1001, 999, 1000, 999, 1001, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 999, 1000, 1000, 1000, 1001, 1000, 1000, 1000, 999, 1000, 1001, 1000, 1000, 1000, 1000, 1000, 1001, 999, 1000, 999, 1000, 1001, 1000, 1001, 999, 1000, 1000, 1000, 1000, 1000, 1000, 998, 1002, 1000, 1001, 999, 998, 1001, 1001, 1000, 1000, 1000, 1000, 1000, 999, 1001, 999, 1000, 1000, 1000, 1000, 1002, 1000, 999, 1000, 999, 1001, 1000, 1001, 998, 1001, 1000, 1001, 999, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1001, 998, 1000, 1000, 1001, 999, 1001, 999, 1002, 999, 999, 1001, 999, 1001, 999, 1000, 1001, 1000, 1000, 1001, 998, 1000, 1001, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1001, 998, 1001, 999, 1000, 1002, 999, 1000, 999, 1000, 1001, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 999, 1000, 1000, 1000, 1000, 1001, 1000, 999, 1001, 1000, 1000, 1000, 1000, 1000, 999, 1001, 1001, 998, 1001, 999, 1001, 1001, 999, 1000, 1000, 1000, 1000, 1000, 999, 1001, 998, 1001, 1001, 1000, 1000, 1000, 999, 1001, 1000, 1000, 1000, 999, 1000, 1000, 1001, 999, 1001, 999, 1001, 999, 1001, 1001, 998, 1001, 1000, 1000, 999, 1001, 999]
Somme de tous les éléments de la liste c = 500000

Au fait avec 360. 500 5000000, j'ai aussi Memory error... ça doit venir de ta liste b, je vais voir comment contourner ça...

Un peu de Python...
* Les variables globales, c'est dangereux : elles sont valables partout et il peut y avoir des '"télescopages"...
   Privilégie plutôt l'appel de la fonction avec passage d'arguments...
   Tu peux utiliser une variable i dans le corps du programme, appeler une boucle dans une fonction utilisant i aussi.
   Il n'y aura pas télescopage : i est une variable locale...

* Pour créer une liste de 40000 zéros ou une chaîne de 40000 zéros, fais plus comme ça :
   h=[0]*40000 ou s='0'*40000 c'est moins gourmand en ressources machine...

* Les versions 2.x de Python ont un défaut  : 5/4 = 1 mais 5.0/4 = 1.25 (ou 5/4.0)
   C'est pourquoi je fais appel au futur de Python, et j'appelle la division des versions 3.x :
   5/4 = 1.25  mais 5//4=1 (dans ce dernier cas, c'est même 1.0, et pour commander une boucle il faut un entier.
   On est donc contraints de spécifier quand même int(5//4).
   Malgré tout, ça reste plus clair et plus cohérent...

* Lorsque tu peux, utilise une boucle for (avec gestion de n° de tour intégrée) plutôt que while :
   for i in xrange(50000):
        print i

   est plus rapide que :

   i = 0
   while i <50000:
        i+=1
        print i

* La boucle peut s'écrire aussi avec range à la place de xrange : for i in range(50000):
   Quelle différence ?
   range(10000) construit la liste des nombres de 0 à 9999, puis repars de 0 et exécute tes instructions,
   xrange fait du pas à pas : il part de 0, exécute, passe à 1 exécute... etc...
   Son seul défaut c'est qu'il n'accepte pas les "grands nombres" (je viens de tester 1 000 000 000 : ça passe)

* Quand tu fais (par ex.) 12- int(12/5)*5 tu trouves 2, s'pas, c'est à dire le reste... Ecris alors directement 12 % 5...
   % c'est le modulo...

Ton programme optimisé une première fois :
(j'ai mis les input en sommeil, ça m'enquiquinait...)

# usr/bin/env python
# -*- coding: cp1252 -*-

from __future__ import division
from math import sqrt

def liste(nb_a,base):
    #fabrique une liste de np portions de circonférence
    portion=[]
    for i in xrange(nb_a):
        portion.append((base/nb_a)*i)     #mise en liste
    return portion

def repDoree(nb_p,bs):
    "crée la liste des points répartis sur les portions de cercle"                          
    repartition=[]                    #liste répartition vide
    for i in xrange(nb_p):
       #le cycle
        c=(bs/2*i*(sqrt(5)-1))%bs    #le cycle : i*2*180°
        repartition.append(c)
    return repartition

# np=input("nbPortions ? :")               #par exemple: 500
# nbCycle=input("nbCycle ? :")             #par exemple: 500000

np,base,nbCycle=50,360.,5000000        #on obtient un résultat tournant autour de 100000 (+/- 2).
print base,np,nbCycle
a = liste(np,base)
b = repDoree(nbCycle,base)
# Décompte du nombre de points posés sur chacun des arcs de cercle"
c=[0]*np

for z in xrange(nbCycle):
    p=base/np
    i=int(b[z]//p)
    c[i]+=1

print c
print 'Somme de tous les éléments de la liste c =',sum(c)

@+

Hors ligne

#18 15-08-2010 19:45:22

karlun
Membre
Inscription : 05-05-2010
Messages : 216

Re : Distributeur doré? 1 disque doré inscrit de tg d'or-ment distribuées

Lent_tel_la_tortue
Salut.

Son cycle à elle sur python était un parcours de la corde dans la bonne direction; simplissime.
J'ai des difficultés à suivre les tiennes Yoshi.(Ça je crois que c'est humain)
Si t'as vu la tortue, tout est là sauf la réponse: « Distributeur doré? 1 disque doré inscrit de tg d'or-ment distribuées »?

Les résultats que tu as pu tester ne sont-ils pas concluant pratiquement quant à ce qui concerne la distribution?

Je te remercie Yoshi de tes bons conseils Python.
Là, comme toi, je m'attelle à autre chose (en python) mais j'éprouve des difficultés en réalisant avec mes petits moyens des choses qui sont, sans doute, qu'un tour de cuillère à pot.

Je n'abandonne pas la suite de ce sujet qui revient à s'intéresser au cercle tangent au centre d'une des cordes parcourues par la tortue. (l'explication est-elle claire?) ;-)

A+-*/

Hors ligne

#19 15-08-2010 19:53:27

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 17 385

Re : Distributeur doré? 1 disque doré inscrit de tg d'or-ment distribuées

Re,


Je me suis inspiré de mon petit prog où je calculais a et b pour pi(a\sqrt(5)-b)...
Je me suis dit que le stockage de b pose problème, donc je l'ai shunté, je calcule ces angles au fur et à mesure et je les répartis ensuite...
Jusqu'à nb_p nombre de points = 100 000 000 ça va...
Mais le calcul de l'indice i pour faire c[i]=c[i]+1 est faux pour z = 102 334 155 quoi que je fasse : sûrement un problème de précision dans les décimales...
Je dois donc reprendre mon bâton de pèlerin, et chercher comment améliorer cette précision.
Donc voilà pour l'instant :

# usr/bin/env python
# -*- coding: cp1252 -*-

from __future__ import division
from math import sqrt
from time import time

def liste(nb_a,base):
    #fabrique une liste de np portions de circonférence
    portion=[]
    for i in xrange(nb_a):
        portion.append((base/nb_a)*i)     #mise en liste
    return portion

# np=input("nbPortions ? :")               #par exemple: 500
# nbCycle=input("nbCycle ? :")             #par exemple: 500000

tp_d=time()

nb_a,base,nb_p=500,360.,100000000    #on obtient un résultat tournant autour de 200000 (+/ 3).
bs=base//2

print base,nb_a,nb_p
a = liste(nb_a,base)

# Décompte du nombre de points posés sur chacun des arcs de cercle"
c=[0]*nb_a
bb=-1
for z in xrange(nb_p):
    #p=base/nb_a
    bb+= 1+2*((bb+3)**2<5*z**2)
    pos=bs*(2.2360679774997898*z-bb)
    i=int(pos*nb_a/base)
    c[i]+=1

print c
print 'Somme de tous les éléments de la liste c =',sum(c)
tp = time()-tp_d
print tp//60, "min  ",round(tp%60,0),'s'

Un résultat :

360.0 500 100000000
[200000, 200001, 200001, 199999, 200000, 199999, 200001, 200001, 199998, 200001, 200000, 200000, 200000, 200000, 200000, 200000, 200000, 200001, 199999, 200000, 200001, 200000, 200000, 200000, 199998, 200001, 200001, 199998, 200000, 200000, 200001, 200001, 199999, 200001, 199998, 200001, 200000, 200000, 200000, 200001, 199998, 200001, 200001, 199999, 200000, 199999, 200001, 200000, 200002, 199999, 200000, 199998, 200002, 199998, 200001, 200000, 199999, 200000, 200001, 200000, 199999, 200002, 199998, 200002, 199999, 200000, 199999, 200002, 200000, 199998, 200002, 199999, 199999, 200000, 200002, 199999, 200000, 199998, 200002, 200000, 200000, 199999, 200000, 200002, 199999, 199999, 200001, 200001, 199999, 200000, 199999, 200000, 200000, 200002, 199999, 199999, 200001, 200001, 199999, 200001, 199998, 200000, 200000, 199999, 200001, 200001, 200000, 199999, 200000, 200001, 199999, 200001, 200001, 199998, 200001, 199999, 200002, 199998, 200000, 200001, 200001, 199999, 200000, 200000, 200001, 200001, 199997, 200001, 199999, 200001, 200000, 200001, 200000, 199999, 200000, 200002, 199998, 200000, 200001, 199998, 200001, 200001, 200000, 200000, 200000, 199999, 200000, 200000, 200001, 199999, 200001, 199999, 200000, 200001, 199999, 200000, 200000, 200001, 200000, 199999, 200000, 200001, 199999, 200001, 199999, 200000, 200001, 200000, 200000, 200000, 199999, 200001, 199999, 199999, 200001, 199999, 200001, 200000, 200000, 199999, 200001, 200000, 200001, 199998, 200001, 200001, 200000, 200000, 200000, 200001, 199998, 200000, 199999, 200001, 199999, 200001, 200000, 200000, 200000, 200000, 200000, 200000, 200000, 200000, 200000, 199999, 200001, 200000, 200001, 199999, 200000, 200000, 200000, 199999, 200002, 200000, 199999, 200000, 199999, 200001, 199999, 200001, 200000, 200000, 200000, 199999, 200001, 200001, 199998, 200001, 200001, 199997, 200003, 200000, 200001, 199998, 199999, 200001, 200000, 200000, 200000, 199999, 200001, 200001, 199998, 200002, 199998, 200000, 200001, 199998, 200001, 200001, 200000, 200000, 199999, 200000, 200001, 199999, 200001, 200000, 200001, 200000, 199999, 200000, 199999, 200001, 199999, 200000, 200000, 200001, 199999, 200002, 199998, 200000, 200002, 199998, 199999, 200001, 200000, 200001, 200000, 199999, 200001, 200000, 200001, 199998, 200000, 200001, 200000, 200000, 200000, 199999, 200000, 200001, 199999, 200000, 200000, 200001, 200000, 200000, 200000, 200000, 200000, 200000, 200000, 199999, 200001, 200000, 199998, 200001, 200002, 199999, 200001, 199998, 200000, 200001, 200000, 200000, 200000, 199999, 200001, 200000, 200000, 199999, 200001, 200001, 199999, 200000, 199999, 200002, 199999, 200001, 199999, 200000, 200000, 200002, 199999, 200000, 199998, 200000, 200002, 199998, 200001, 200000, 200002, 199999, 199999, 200000, 200002, 199997, 200001, 200001, 199998, 200000, 200002, 200000, 199998, 200002, 199999, 200000, 200000, 200001, 200000, 200000, 199998, 200000, 200001, 200000, 200000, 199999, 200001, 200000, 200000, 200001, 199999, 200000, 200000, 200000, 200000, 200000, 200001, 199999, 200000, 200000, 200000, 200000, 200000, 200000, 200000, 200000, 199998, 200001, 200001, 200000, 199999, 200000, 200001, 199999, 200000, 200002, 199998, 200002, 200000, 199999, 200000, 200000, 200000, 200001, 199999, 199999, 200001, 199999, 200002, 199998, 200001, 200000, 200000, 199999, 200002, 199999, 200001, 199999, 200000, 200001, 199999, 200001, 199997, 200001, 200002, 200000, 199999, 200000, 199999, 200002, 200000, 199999, 200000, 199999, 200000, 200001, 200000, 199998, 200002, 199999, 200000, 200000, 200002, 199999, 199999, 200001, 200000, 200000, 200000, 200001, 199997, 200001, 200000, 200001, 199999, 200000, 200000, 200001, 200000, 199998, 200002, 200001, 199999, 199998, 200001, 200000, 200001, 199999, 200001, 200000, 199999, 200001, 200001, 199997, 200002, 199999, 200001, 200000, 199998, 200001, 200001, 199999, 200001, 199999, 199999, 200001, 200000, 200001, 199999, 200000, 200001, 200000, 200000, 200000, 199999, 200000]
Somme de tous les éléments de la liste c = 100000000
7.0 min   19.0 s

@+

Hors ligne

#20 15-08-2010 22:07:46

karlun
Membre
Inscription : 05-05-2010
Messages : 216

Re : Distributeur doré? 1 disque doré inscrit de tg d'or-ment distribuées

'lut

Juste pour le fun: 50.000.000de points répartis d'orement sur 50.000 portions égales du cercle.
(Et il y en a plusieurs pages)


disdor.png


On repère quelques 997 quand-même.

Ahhh! Ça reste pas trop régulier tout ça...

D'or? D'or perfectble? ...

Dormons là dessus.

A+-*/

Hors ligne

#21 16-08-2010 12:09:25

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 17 385

Re : Distributeur doré? 1 disque doré inscrit de tg d'or-ment distribuées

Re,

Je n'abandonne pas la suite de ce sujet qui revient à s'intéresser au cercle tangent au centre d'une des cordes parcourues par la tortue. (l'explication est-elle claire?) ;-)

Ta tortue jouant les "Achille aux pieds agiles" l'a clairement mis en évidence...

J'ai une revue à préparer pour un éditeur : textes et photos (20 pages RV) mon prog de conjugaison sur le feu (je vais d'ailleurs le repenser, parce que ce que j'ai pondu il y a 20 ans me prendrait trop de temps à déchiffrer avec les grandes lignes en tête, je vais m'en sortir...), je trouverai quand même le temps de calculer ton rayon...

Je me demande si au lieu de tourner de 180(sqrt(5)-1)° à la fois, il ne vaudrait mieux pas tenter 180(3-sqrt(5))° et tourner dans le sens inverse du cercle trigo puisque :
1. 180(sqrt(5)-1) > 180°
2. [tex]\cos(180+\theta)=-\cos(\theta) \text{ et }\sin(180+\theta)=-\sin(\theta)[/tex]
3. Si tu places P0(1,0) et P1(1,180(sqrt(5)-1) l'angle orienté [tex](\overrightarrow{OP_0},{OP_1})=\pi(sqrt(5)-1)[/tex] ou [tex](\overrightarrow{OP_0},{OP_1})=-\pi(3-sqrt(5))[/tex] donnent tous deux le même point P_1

@+

Hors ligne

#22 16-08-2010 13:47:49

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 17 385

Re : Distributeur doré? 1 disque doré inscrit de tg d'or-ment distribuées

Re,

Je fais tourner dans le sens trigo de [tex]\pi(3-\sqrt 5)[/tex] : ce sera l'image en miroir de ce que tu obtiens...

Voilà, j'ai beaucoup de difficulté à faire obéir cette tortue, en plus, elle ne trace pas les cercles en donnant les coordonnées du centre... pratique ! :-(
Bin, cela dit, c'est cela que tu cherches :

from turtle import*
from math import*
reset()
pu()
goto(0,-100)
pd()
pencolor('red')
circle(200)
pencolor('blue')
pu()
goto(0,100)
pd()
forward(200)
pu()
goto(0,100)
pd()
left(180*(3-sqrt(5)))
fd(200)
pu()
goto(200,100)
pd()
right(180*(3-sqrt(5)))
left(90*(4-sqrt(5)))
fd(373)
for i in xrange(36):
    left(180*(3-sqrt(5)))
    fd(373)

pu()

home()
setx(0)
sety(28)
pd()
pencolor('green')
circle(72)

non ?

Le rayon du cercle tangent est : [tex]r=R\times\cos\left(\frac{\pi(3-\sqrt 5)}{2}\right)[/tex]

@+

Hors ligne

Pied de page des forums