[JAVA] Introduction au traitement et p5.js (pour ceux qui ont fait d'autres langues) 01

Qu'est-ce que le traitement

Langues et IDE qui sont bons dans l'art et les œuvres interactifs et sont souvent utilisés pour l'art médiatique

Fonctionnalité

――Vous pouvez faire des œuvres qui bougent très facilement --Bonne aux prototypes ――C'est si facile de créer un environnement

Un langage très amusant, je suis tombé dans un marais de programmation dans ce langage. Par exemple, ce qui peut être fait (il y a aussi une bibliothèque appelée gifExport, mais le comportement est étrange, donc je capture l'écran)

kurukuru.gif

Le cercle environnant tourne lorsque la souris se déplace. Cela n'a pas l'air joli du tout à cause de la putain de fréquence d'images.

Code source

Le code source sera simple comme ça. (C'est sale parce que la personne qui écrit le code baise) Écrivez dans draw ce que vous voulez répéter dans la configuration de l'événement qui ne se produit qu'une seule fois au début. Il est basé sur Java, vous pouvez donc vous y habituer immédiatement void setup() Quand void draw()

En raison de la nature de la fonction divisée, le nombre de variables globales a tendance à augmenter.

kurukuru.pde


float[] x, y, pX, pY;
float[] distance;
float[] gapTheata;
color[] c;

final int n = 200;

void setup(){
  size(1000, 1000);
  background(255);
  colorMode(HSB);
  
  x = new float[n];
  y = new float[n];
  pX = new float[n];
  pY = new float[n];
  distance = new float[n];
  gapTheata = new float[n];
  c = new color[n];
  
  for(int i = 0; i < n; i++){
    x[i] = y[i] = pX[i] = pY[i] = 30;
    distance[i] = random(15, 150);
    gapTheata[i] = random(-PI, PI);
    c[i] = color(random(255), 255, 255, random(255));
  }
  
}

void draw(){
  background(255);
  noStroke();
  colorMode(HSB);
  
  for(int i = 0; i < n; i++){
    fill(c[i]);
    float theata = radians(frameCount*5.0) + gapTheata[i];
    float dist =distance[i] + 90.0*noise(theata/1.0, frameCount/100.0, i);
    x[i] = (mouseX + dist*cos(theata) + pX[i])/2.0;
    y[i] = (mouseY + dist*sin(theata) + pY[i])/2.0;
    pushMatrix();
    translate(x[i], y[i]);
    ellipse(0, 0, 20, 20);
    popMatrix();
    pX[i] = x[i]; pY[i] = y[i];
  }

  colorMode(RGB);
  fill(0);
  ellipse(mouseX, mouseY, 40, 40);
}

Je vais omettre l'explication détaillée.

Choses intéressantes






Je veux porter sur le Web

Puis quand j'ai voulu porter ceci sur le Web ** Vous pouvez utiliser p5.js **

Portons ceci sur le Web. (Dans le prochain article)

Recommended Posts

Premiers pas avec Processing et p5.js (pour ceux qui ont fait d'autres langues) 02
Introduction au traitement et p5.js (pour ceux qui ont fait d'autres langues) 01
Pour ceux qui ont fait des outils de configuration pip
Pour ceux qui veulent apprendre Excel VBA et se lancer avec Python
5 raisons pour lesquelles le traitement est utile pour ceux qui veulent se lancer avec Python
[Pour ceux qui maîtrisent d'autres langages de programmation] 10 points pour rattraper les points Python
Premiers pas avec Python pour les classes PHPer
Premiers pas avec Julia pour Pythonista
Premiers pas avec Python pour les fonctions PHPer
Premiers pas avec Python pour PHPer-Super Basics
Premiers pas avec Lisp pour Pythonista: Supplément
Rejoignez Azure avec Go ~ Pour ceux qui veulent démarrer et connaître Azure avec Go ~
[Résolu] J'ai une question pour ceux qui connaissent la mécanisation de Python.
Démarrer avec Python avec 100 coups sur le traitement du langage
[Français] Premiers pas avec Rust pour les programmeurs Python
Paramètres pour démarrer avec MongoDB avec python
❤️ Blogueurs ❤️ "Beloved BI" ❤️ Commençons ❤️ (pour ceux qui peuvent créer des graphiques avec Python)
Pour ceux qui débutent en programmation mais qui ont décidé d'analyser les données avec Python
Pour ceux qui auraient dû installer janome correctement avec Python mais qui obtiennent une erreur
Premiers pas avec python3 # 2 En savoir plus sur les types et les variables
Premiers pas avec Google App Engine pour Python et PHP
Introduction à l'hypothèse Tensorflow-About et au coût de la régression linéaire
Pour ceux qui veulent écrire Python avec vim
Pour ceux qui obtiennent une erreur de clé: 'length_seconds' sur pytube
Premiers pas avec Android!
1.1 Premiers pas avec Python
Premiers pas avec apache2
Premiers pas avec Python
Premiers pas avec Django 1
Introduction à l'optimisation
Premiers pas avec Numpy
Premiers pas avec Spark
Premiers pas avec Python
Premiers pas avec Pydantic
Premiers pas avec Jython
Premiers pas avec Django 2
Pour ceux qui souhaitent démarrer l'apprentissage automatique avec TensorFlow2
Une procédure de création d'environnement moderne pour ceux qui veulent se lancer immédiatement avec Python