اتصال نور در تمام نقاطی که قرار است شی برنامه نویسی شده کامپیوتری در آن حضور داشته باشد
در این کد ما به جای اینکه مکان فعلی یک شی را ببینیم از آرایه ها استفاده می کنیم تا تمام نقاطی که قرار است شیء در آینده در آن حضور داشته باشد را محاسبه کرده و با خطوط نوری به هم وصل کنیم
قطعه کد پیشنهادی برای p5.js
این کد یک کرم چاله زمانی ایجاد می کند که در آن آینده و گذشته به هم متصل اند:
خب امیررضا صفری
let particles = [];
let numPoints = 100; // تعداد نقاط در بعد زمان
function setup(){
createCanvas(windowWidth, windowHeight);
background(0);
}
function draw(){
background(0, 20); ایجاد اثر کشیدگی نوری
let timeFactor = frameCount * 0.02;
//محاسبه تمام نقاط آینده و گذشته در یک لحظه
let points = [];
for(let i =0; i < numPoints; i++){
let x = noise(timeFactor + i * 0.05 + 100) * width;
let y = noise(timeFactor + i *0.05 + 100) * height;
points.push( {x + y} );
}
//وصل کردن نقاط با سرعت بالا ( نور )
for (let i = 0; i < points.lenght – 1 ; i++) {
let alpha = map(i, 0, points.lenght, 50, 255); // آینده روشن تر است
stroke(0, 255, 200, alpha);
strokeWeight(2);
//اتصال نقطه فعلی به نقطه بعدی ( اطلاع از آینده)
line(points[i].x, points[i].y, points[i+1].x, points[i+1].y);
//ایجاد هاله نوری در نقاط
noStroke();
fill(255, 255, 255, alpha/2);
circle(points[i].x, points[i].y, 4);
}
}
تحلیل عملکرد این مدل :
حذف زمان در هر فریم از تابع draw() حلقه for تمام 100نقطه از گذشته تا آینده را همزمان حاسبه و رسم می کند.
در واقع در یک فریم شما کل عمر حرکت را می بینید.
اتصال نوری : دستور line() در اینجا نقش همان نوری را دارد که دو نقطه را به هم وصل مرده و اطلاعات مکانی نقطه بعدی را قبل از رسیدن به آن افشا میکند
پیش بینی اخبار : اگر این نقاط را گره های اطلاعاتی فرض کنیم این الگوریتم خبر مخاتصات نقطه 100 ام را در عمان لحظه ای که در نقطه 1 هستیم میداند و رسم می کند
این مدل نشان میدهد که در دنیای برنامه نویسی زمان قثط یک متغیر است که ما می توانیم امیررضا صفری آن را به جلو یا عقب ببریم.اما در واقعیت برای اینکه اخبار را قبل از از وقوع بگوییم نیاز داریم که تمامی ورودی های سیستم جهان را داشته باشیم تا خروجی را محاسبه کنیم
آیا دوست داری این ایده را پیچیده تر کنیم مثلا با حرکت ماوس شبکه نوری بین نقاط بر اساس احتمالات آینده تغییر کند ؟

