//---- normal P5 code -------------------------------------------------------
let ptron;
function setup()
{
createCanvas(400, 400);
var inputs = new Array(-1, 0.5);
var ptron = new Perceptron(inputs.length);
var points = new Array(200);
for(let i = 0; i < points.length; i++){
points[i] = new Point();
}
var guess = ptron.feedforward(inputs);
console.log(guess);
}
function draw()
{
background(255);
for(let i = 0; i < points.length; i++){
points[i] = new Point();
ellipse(points[i].x, points[i].y, 12, 12);
}
}
class Perceptron
{
constructor(n)
{
this.weights = new Array(n);
for (let i = 0; i < this.weights.length; i++) {
this.weights[i] = random(-1, 1);
}
}
feedforward(inputs)
{
// Sum all values
let sum = 0;
for (let i = 0; i < this.weights.length; i++)
{
sum += inputs[i] * this.weights[i];
}
// Result is sign of the sum, -1 or 1
return this.activate(sum);
}
activate(sum)
{
if (sum > 0) return 1;
else return -1;
}
}
class Point
{
var x;
var y;
var label;
constructor()
{
this.x = random(0, 800);
this.y = random(0, 800);
if (this.x>this.y){
this.label = 1;
}else{
this.label = -1;
}
}
}