Discuss Scratch

Lolipopcorn
Scratcher
1000+ posts

Un peu d'art (algorithmique) dans ce monde de brutes.

SBissay wrote:

Lolipopcorn wrote:

Sinon SBissay as tu vu mon message parlant de ce scratcheur? Son travail pourrait t'intéresser.
Oui, je l'ai vu. C'est gentil, merci.



En fait je suis embêté parce que je n'arrive pas à trouver comment dire sans paraître condescendant qu'on ne joue pas dans la même cour… Daffodil_alias_daffo fait de très jolies choses, avec un emploi créatif de mathématiques de collège. A titre de comparaison, les B-splines c'est du niveau licence 3 de mathématiques.

Bref, bravo à elle (j'ai même lu son profil) et j'espère qu'elle va continuer, mais je vais continuer à chercher mes inspirations avec des mathématiques qui me font un peu plus réfléchir
Désolé…

ooooooooooooooooooooooooooo000000000000000000000000000000000000000OOOOOOOOOOOOOO


SBissay
Scratcher
500+ posts

Un peu d'art (algorithmique) dans ce monde de brutes.

Ah non, mais merci à toi d'avoir proposé et aussi de lui avoir fait fait de la pub !

C'est pile ce que je craignais : je ne veux pas passer pour vieil aigri, j'essayais juste de mieux définir qu'elles sont mes attentes en terme d'inspiration.

Generative art :              Pivot  :               Sudoku :
Lolipopcorn
Scratcher
1000+ posts

Un peu d'art (algorithmique) dans ce monde de brutes.

SBissay wrote:

Ah non, mais merci à toi d'avoir proposé et aussi de lui avoir fait fait de la pub !

C'est pile ce que je craignais : je ne veux pas passer pour vieil aigri, j'essayais juste de mieux définir qu'elles sont mes attentes en terme d'inspiration.
D'accord

ooooooooooooooooooooooooooo000000000000000000000000000000000000000OOOOOOOOOOOOOO


spirou201
Scratcher
500+ posts

Un peu d'art (algorithmique) dans ce monde de brutes.

D'ailleurs j'ai une question:

Ca fait quoi de faire un projet 100% pen? Pourquoi est ce mieux que un qui ne l'est pas?
Lolipopcorn
Scratcher
1000+ posts

Un peu d'art (algorithmique) dans ce monde de brutes.

spirou201 wrote:

D'ailleurs j'ai une question:

Ca fait quoi de faire un projet 100% pen? Pourquoi est ce mieux que un qui ne l'est pas?
Devoir créer une figure/un dessin uniquement avec des scripts stylo est le plus souvent plus difficile qu'avec l'éditeur à dessins de scratch.

ooooooooooooooooooooooooooo000000000000000000000000000000000000000OOOOOOOOOOOOOO


smrman
Scratcher
1000+ posts

Un peu d'art (algorithmique) dans ce monde de brutes.

SBissay wrote:

Premièrement, je ne vais pas parler de l'art de l'algorithmique mais d'“art” généré algorithmiquement.

Pour avoir quelques exemples de telles œuvres, je vous invite à consulter la page wikipédia consacrée à ce sujet.

Pour ma part, je suis tombé sur les Sand Splines par Anders Hoff, et j'ai trouvé ça inspirant, donc j'ai tenté de récréer un peu la chose (en moins poussé pour le moment) sur Scratch.

Donc on a un algorithme qui dessine des B-splines cubiques en intégrant quelques variations aléatoires dans le polygone de contrôle à chaque itération, variations dont l'intensité vont dépendre de x et de y.

Sans rentrer dans les détails techniques (y a des maths bien velues derrière), voici tout de suite un aperçu de ce que ça donne :


Le projet se trouve ici : https://scratch.mit.edu/projects/173867186/.

Y a encore pas mal de boulot dessus, à savoir faire en sorte que les modifications de paramètres soient accessibles une fois le projet lancé plutôt qu'en allant l'éditer, et puis aussi pourquoi pas proposer autre chose que des lignes, par exemple des cercles concentriques.

Une fois de plus, je suis preneur si vous avez des suggestions.


Ça me rappelle quand j'ai été à la conférence de Scratch à Bordeaux,
J'ai assisté à la conférence de quelqu'un qui fait exactement ce que tu recherches, aussi avec des blocs de Scratch et de Snap!
J'ai su retrouver son nom, il s'appelle Joachim Wedekind.
Voilà une petite vidéo de sa présentation, je pense que tu la trouveras assez intéressante https://www.youtube.com/watch?v=7FNRebe4nG4 (en anglais)
Aussi, cette personne a fait un livre avec les œuvres qu'elle a créé.
Si tu comprends l'allemand, tu pourras en apprendre plus sur son blog http://digitalart.joachim-wedekind.de/

SBissay
Scratcher
500+ posts

Un peu d'art (algorithmique) dans ce monde de brutes.

Ah super, je regarde ça !

Generative art :              Pivot  :               Sudoku :
SBissay
Scratcher
500+ posts

Un peu d'art (algorithmique) dans ce monde de brutes.

On joue avec les couleurs…

Generative art :              Pivot  :               Sudoku :
ma15fo43
Scratcher
1000+ posts

Un peu d'art (algorithmique) dans ce monde de brutes.

SBissay wrote:

On joue avec les couleurs…
Encore plus beau : on dirai limite des cheveux les “fils du bas”

No longer active on Scratch, I build stuff with TypeScript and Kotlin nowadays. (#3 all-time poster in French forums)
Itharius
Scratcher
1000+ posts

Un peu d'art (algorithmique) dans ce monde de brutes.

c'est ce que je m'étais dit aussi que la différence avec l'image que tu as mis en présentation, c'était les couleurs

je ne sais pas si ça a un rapport ou non mais peut-être les lignes pourrait fluctuer selon une certaine image de base. Par exemple tu mets en fond une photo de toi et les lignes détecte les changement des couleurs et effectuent les petites variations pour reproduire l'image de fond ^^

ce n'est qu'une idée hein ^^ je sais que c'est une proposition qui doit certainement être démentiel ^^
SBissay
Scratcher
500+ posts

Un peu d'art (algorithmique) dans ce monde de brutes.

Itharius wrote:

je sais que c'est une proposition qui doit certainement être démentiel ^^
Oui, totalement. C'est pour ça qu'elle m'intéresse ! (Mais bon, va falloir du temps)

Generative art :              Pivot  :               Sudoku :
SBissay
Scratcher
500+ posts

Un peu d'art (algorithmique) dans ce monde de brutes.

Sinon, comme je me laisse facilement distraire, j'ai été inspiré par ça http://www.complexification.net/gallery/machines/interMomentary/index.php : on recherche les points d'intersection de cercles en mouvement.

Plus précisément, il y a 100 cercles de tailles aléatoires comprises entre 10 et 50 pixels de rayon. Ces cercles ont chacun une orientation aléatoire elle aussi, mais ils bougent tous à la même vitesse (constante, et faible : 1px par tick). le rendu est sur 500 ticks.

Donc je l'ai fait : https://scratch.mit.edu/projects/173931168/. Et c'est beau (enfin moi je trouve) :

Generative art :              Pivot  :               Sudoku :
Itharius
Scratcher
1000+ posts

Un peu d'art (algorithmique) dans ce monde de brutes.

c'est un peu l'ambiance de la map de mon lvl 6 dans battle tank duel mais bon y a que littlekitkat qui est arrivée au lvl 2 donc probablement personne ne le verra jamais lol
SBissay
Scratcher
500+ posts

Un peu d'art (algorithmique) dans ce monde de brutes.

Encore une fois, avec de la couleur c'est mieux :



Last edited by SBissay (Sept. 10, 2017 21:05:59)


Generative art :              Pivot  :               Sudoku :
zelda_64
Scratcher
1000+ posts

Un peu d'art (algorithmique) dans ce monde de brutes.

SBissay wrote:

Encore une fois, avec de la couleur c'est mieux :

Liste d'images

Wow c'est super beau !!!

Salut toi !


Je m'appelle Zelda (mais pas dans la vraie vie, hein) et j'ai actuellement 15ans derrière moi ! (argh, je suis aussi proche de ma naissance que de mes 30ans O.O)
Donc cette signature est provisoire, c'est juste le temps d'en créer une autre, plus au goût du jour
ma15fo43
Scratcher
1000+ posts

Un peu d'art (algorithmique) dans ce monde de brutes.

zelda_64 wrote:

SBissay wrote:

Encore une fois, avec de la couleur c'est mieux :

Liste d'images

Wow c'est super beau !!!
Ouais !!

No longer active on Scratch, I build stuff with TypeScript and Kotlin nowadays. (#3 all-time poster in French forums)
SBissay
Scratcher
500+ posts

Un peu d'art (algorithmique) dans ce monde de brutes.

Réponse à un commentraire de ma15fo43 demandant des explications sur le bloc
(élément ( v) de [list v] :: list)

Pour comprendre à quoi il sert et comment s'en servir, je vais passer par un exemple.
Imaginons que j'ai 5 objets, numérotés de 1 à 5, et que chacun de ces objets à un prix qui lui est propre.

Bon, vu que j'ai un petit nombre d'objets, je pourrais créer 5 variables “prix1”, “prix2”, “prix3”, “prix4” et “prix5” pour stocker leurs prix, mais on va dire que je prévois d'en avoir plus (et ça peut être un nombre inconnu à l'avance).
Du coup, je décide stocker leurs prix dans une liste : le premier élément sera le prix du 1er objet, le deuxième le prix de l'objet n°2, etc.
Je vais donc avoir une liste dont la taille sera exactement le nombre d'objets que j'ai à la vente (pour le moment 5).

Maintenant toi, petit malin, tu veux connaître le prix de l'objet n°3, juste pour m'embêter.

Et bien pour ça, vu que je sais que son prix c'est le 3ème élément de ma liste de prix, j'ai juste à appeler :
(élément (3 v) de [Prix v] :: list)
et j'en connaîtrai le prix !

Là où c'est encore plus intéressant, c'est qui si tu viens m'offrir de nouveaux objets, j'ai juste à la numéroter à la suite des autres (6, 7, 8, etc.) et à ajouter leurs prix à la suite dans la liste, je pourrais ainsi connaître leur prix tout aussi facilement.

Mais en plus, si jamais un événement fait que le prix de l'objet 4 venait à changer, plutôt que de rerentrer toute ma liste de prix, je pourrais juste modifier son prix grâce à
remplacer l'élément (4 v) de la liste [Prix v] par (nouveau prix)
Le bloc
insérer (prix) en position (3 v) de la liste [Prix v]
quant à lui me permettrait de rajouter un nouvel objet qui serait le nouveau n°3, et tous les suivants verront leur numéro changer d'un cran (l'ancien 3 devient le 4, etc.).

Et évidemment,
supprimer l'élément (7 v) de la liste [Prix v]
me permet de me débarasser de l'objet 7 (je l'ai vendu ), et de renommer le 8 en 7, le 9 en 8 et ainsi de suite.

Voilà, j'espère qu'avec ce petit exemple, tu vois plus clairement à quoi ça correspond, mais ne te laisse pas berner par la simplicité de la chose : les listes sont des éléments très simples à appréhender (et à utiliser, quand on a compris comment ça fonctionne) mais qui permettent de faire des choses TRÈS poussées, donc ne les néglige pas

(et bientôt toi aussi tu feras des trucs moches comme :
(élément (élément (Itérateur) de [Index v] :: list) de [Liste v] :: list)
)

Generative art :              Pivot  :               Sudoku :
ma15fo43
Scratcher
1000+ posts

Un peu d'art (algorithmique) dans ce monde de brutes.

Merci, super explication !! Je comprends mieux, maintenant. Et l'exemple sur les prix des objets était super aussi X) par contre je ne comprends pas ton dernier exemple
Celui-là :

SBissay wrote:

(élément (élément (Itérateur) de [Index v] :: list) de [Liste v] :: list)

Je vais sûrement demander à zelda de le citer dans les questions courantes ^^

Last edited by ma15fo43 (Sept. 12, 2017 18:53:11)


No longer active on Scratch, I build stuff with TypeScript and Kotlin nowadays. (#3 all-time poster in French forums)
zelda_64
Scratcher
1000+ posts

Un peu d'art (algorithmique) dans ce monde de brutes.

ma15fo43 wrote:

Merci, super explication !! Je comprends mieux, maintenant. Et l'exemple sur les prix des objets était super aussi X) par contre je ne comprends pas ton dernier exemple
Celui-là :

SBissay wrote:

(élément (élément (Itérateur) de [Index v] :: list) de [Liste v] :: list)

Je vais sûrement demander à zelda de le citer dans les questions courantes ^^

Euuuh… faudrait le comprendre avant X) Je sais juste que c'est un numéro de liste dans une liste… mais… euh… ça sert à quoi ? ^^

Sinon, SBissay, tu as réussi a changer une simple liste en un truc complètement dingue avec des possibilités pas possibles XD
(moi j'aurais dit un truc du style : une liste c'est une liste… ah ouais c'est pas du même niveau)

Définition de “possibilités pas possibles” : paradoxe permettant de rendre n'importe quelle action impossible possible en utilisant la possibilité de rendre possible l'impossible, en s'aidant de la possibilité .. …… ……… ….. …

Salut toi !


Je m'appelle Zelda (mais pas dans la vraie vie, hein) et j'ai actuellement 15ans derrière moi ! (argh, je suis aussi proche de ma naissance que de mes 30ans O.O)
Donc cette signature est provisoire, c'est juste le temps d'en créer une autre, plus au goût du jour
SBissay
Scratcher
500+ posts

Un peu d'art (algorithmique) dans ce monde de brutes.

ma15fo43 wrote:

Merci, super explication !! Je comprends mieux, maintenant. Et l'exemple sur les prix des objets était super aussi X) par contre je ne comprends pas ton dernier exemple
Celui-là :

SBissay wrote:

(élément (élément (Itérateur) de [Index v] :: list) de [Liste v] :: list)

Ça c'était juste une blague, faut pas chercher…

Mais si tu veux vraiment savoir….
Pour comprendre à quoi ça sert : Si ma liste contient des éléments, mais que je souhaite m'en occuper dans un certain ordre sans modifier la liste (pour une raison quelconque dont on se fiche), alors je peux créer une nouvelle liste qui va contenir l'ordre dans lequel je veux m'occuper de ces éléments, par exemple (4, 3, 1, 2, 5).
Ensuite, pour avoir l'élément qui est à la 4 ème position de l'ordre, eh bien je dois appeler
(élément (élément (4)  de [liste des odres v] :: list) de [liste de départ v] :: list)

(Désolé, je vais avoir du mal à être plus clair que ça, par contre…)

Generative art :              Pivot  :               Sudoku :

Powered by DjangoBB