Deutsch   English   Français   Italiano  
<t68kpd$1rpj$1@cabale.usenet-fr.net>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!news.nobody.at!weretis.net!feeder8.news.weretis.net!news.trigofacile.com!usenet-fr.net!.POSTED!not-for-mail
From: Olivier Miakinen <om+news@miakinen.net>
Newsgroups: fr.sci.maths
Subject: Re: fonctions
Date: Fri, 20 May 2022 19:57:01 +0200
Organization: There's no cabale
Lines: 67
Message-ID: <t68kpd$1rpj$1@cabale.usenet-fr.net>
References: <62860f9b$0$9158$426a74cc@news.free.fr>
 <628738dc$0$8505$426a74cc@news.free.fr>
 <62874fcc$0$22087$426a74cc@news.free.fr>
NNTP-Posting-Host: pa-129.182.162.202.frcl.bull.fr
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Trace: cabale.usenet-fr.net 1653069421 61235 129.182.162.202 (20 May 2022 17:57:01 GMT)
X-Complaints-To: abuse@usenet-fr.net
NNTP-Posting-Date: Fri, 20 May 2022 17:57:01 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101
 Firefox/60.0 SeaMonkey/2.53.1
In-Reply-To: <62874fcc$0$22087$426a74cc@news.free.fr>
Bytes: 4032

Le 20/05/2022 à 10:22, HB a écrit :
> bonjour,
> 
> bon ... je répond à plein de choses ... :
> 
> 1°) Quand je dis "aléatoires" c'est que je veux pouvoir répéter le 
> processus et obtenir des choses différentes imprévisibles...
> 
> 2°) Pour les curieux ;o)
>      En fait l'idée m'est venu en voyant ça au MOMA de NY
> 
> https://drive.google.com/file/d/1TmBSwwnHqS70QkNI9PDC8DxMYykcGm1O/view?usp=sharing

Une idée d'algorithme, incluant la possibilité de revenir un peu
en arrière.

1) Choisir un petit pas d'incrémentation en x (mettons dx = 1/100),
   un petit pas d'avancement (mettons dl = 1/100), une distance
   minimum entre les courbes (mettons dm = 5/100), un angle maximum
   par rapport à l'horizontale (mettons am = 100 degrés pour permettre
   d'aller en arrière), un changement d'angle maximum quand tout se
   passe bien (mettons da = 30 degrés).

2) Choisir au hasard N valeurs entre 0+dm et 1-dm, en s'assurant que
   ces valeurs sont toutes distantes d'au moins dm deux à deux.
   Choisir aussi un angle entre −am et +am pour chaque valeur.

3) Pour x0 allant de dx à 1 par pas de dx, on va faire avancer chaque
   courbe jusqu'à ce qu'elle atteigne l'abscisse x0. À chaque nouvel
   x0 on peut choisir aléatoirement dans quel ordre on va traiter
   chaque courbe.

   3.1) Pour la courbe choisie, on peut faire varier un peu la
        direction d'avancement dans les limites de ±da pour la
        variation et de ±am pour la valeur finale. On vérifie que
        le point d'arrivée (en avançant de dl) reste suffisamment
        loin des autres courbes (et des points précédents de la même
        courbe), et aussi des valeurs y=0, y=1 et x=0. On peut être
        plus malin en prévoyant aussi d'être loin de ce que pourraient
        être les autres courbes si elles continuaient tout droit et
        que nous restions dans les limites permises par ±da (en gros
        voir s'il y a intersection entre une droite et un cercle).

   3.2) On stocke dans un tableau la nouvelle position (x, y) pour
        pouvoir comparer les positions respectives de toutes les
        courbes.

   3.3) Tant qu'on n'a pas atteint le x0 qui est notre objectif à
        cette étape, on continue avec la même courbe.

   3.4) Sécurité : à tout moment, si on ne peut pas empêcher une
        intersection avec une autre courbe ou les bords de la zone,
        on ignore la contrainte sur ±da et on choisit un point qui
        l'évite.

   3.5) Lorsque la courbe atteint ou dépasse x0, on passe à une autre
        courbe. Si c'est plus simple, on peut alors stocker (x0, y)
        au lieu de (x, y) pour le dernier point de cette courbe.

   3.6) Lorsque toutes les courbes ont atteint x0, on incrémente x0
        de dx et on recommence.

4) Lorsque toutes les courbes ont atteint x0 = 1, on s'arrête.


-- 
Olivier Miakinen