وثيقة مرجعية عامة. تاريخ كامل، أسس تقنية، رياضيات إبداعية، مجالات تطبيقية، أدوات 2026، أخلاقيات وذكاء اصطناعي. كل حقيقة موثّقة بمصادرها.
الفصل الأول — التعريف والموقف
1.1 البرمجة الإبداعية مقابل التطوير الكلاسيكي
البرمجة الإبداعية (Creative Coding) ممارسةٌ يكون فيها كتابة الكود أداةً للتعبير لا أداةً لحل مشكلات وظيفية. الهدف ليس تسليم برنامج تشغيلي، بل إنتاج تجربة جمالية أو شعرية أو مفاهيمية.
| التطوير الكلاسيكي | البرمجة الإبداعية | |
|---|---|---|
| الهدف | الوظيفة والأداء والموثوقية | التعبير والتجربة والعملية |
| معيار النجاح | ينفّذ الكود ما يُفترض به | تُنتج النتيجة شيئاً ذا معنى |
| العلاقة بالخطأ | خطأ = مشكلة تحلّ | خلل = إمكانية فنية |
| جمهور الكود | الآلات (والمطورون) | أيضاً المتفرجون والمؤلف ذاته |
| قابلية التكرار | مطلوبة وضرورية | يمكن أن تكون متغيرة عمداً (بذرة عشوائية) |
1.2 الكود كمادة
في البرمجة الإبداعية، الكود مادة كالطلاء أو البرونز تماماً. لها خصائصها: الحلقة (التكرار مع التغيير)، العشوائية (اللايقين المضبوط)، الزمن (الحركة والحدث)، الاستجابة (التفاعل والبيانات). فهم هذه الخصائص يعني التحكم في المادة.
1.3 الموقف التأليفي
المبرمج الإبداعي هو في آنٍ واحد مؤلف (نية، خيارات جمالية) وفنان (حساسية للشكل) وحرفي (مهارة تقنية). ما يُميّزه عن "المطوّر الذي يصنع أشياء جميلة" هو النية: المؤلف يبني وجهة نظر، لا ميزة برمجية.
"لأقتبس خطأً عن كلي: الحاسوب كالمطرقة — يُضخّم نوايا الفنان، للأفضل وللأسوأ." — كيسي ريس (Casey Reas)
الفصل الثاني — التاريخ الكامل (زمني موثّق)
2.1 الرواد الخوارزميون (1960–1968)
1959–1960 — فيرا مولنار (Vera Molnár)، الفن التوافقي قبل الحاسوب بدأت الرسامة الفرنسية-المجرية فيرا مولنار عام 1959 إنشاء أعمال من قواعد توافقية منهجية — شبكات وتحولات وتغييرات على شكل أساسي — بيدها كلياً، قبل أن تصل إلى حاسوب. شاركت عام 1960 في تأسيس مجموعة بحث الفن البصري (GRAV) في باريس. عام 1968 حصلت على جهاز IBM في جامعة باريس وأنتجت أولى أعمالها الخوارزمية الآلية. ظلّت نشطةً بعد التسعين، رائدةً معترفاً بها في الفن التوليدي.
المصدر: Wikipedia. Vera Molnár. https://en.wikipedia.org/wiki/Vera_Moln%C3%A1r
1963 — إيفان ساذرلاند (Ivan Sutherland)، Sketchpad قدّم إيفان ساذرلاند أطروحته الدكتورية Sketchpad: نظام تواصل رسومي بين الإنسان والآلة في MIT. إنه أول برنامج تفاعلي للرسومات الحاسوبية — رسم بقلم ضوئي على شاشة أنبوبية. يُرسي مفاهيم الكائنات الرسومية والقيود والوراثة. الأساس المفاهيمي لكل التفاعل الرسومي اللاحق.
Sutherland, I. (1963). Sketchpad: A Man-Machine Graphical Communication System. أطروحة دكتوراه، MIT.
فبراير 1965 — غيورغ نيس (Georg Nees)، أول معرض فن حاسوبي قدّم غيورغ نيس، مهندس في سيمنز، في معرض Design Studies Gallery في مدرسة HfG بشتوتغارت أعمالاً رسومية حاسوبية في سياق فني. يُعدّ عموماً أول معرض فن حاسوبي.
المصدر: Wikipedia. Georg Nees. https://en.wikipedia.org/wiki/Georg_Nees
نوفمبر 1965 — فريدر نيك (Frieder Nake) عرض فريدر نيك، عالم الرياضيات، في Galerie Wendelin Niedlich بشتوتغارت. أعماله الخوارزمية (مصفوفات وخطوط) من بين أوائل ما استكشف التوتر بين القاعدة الرياضية والجماليات البصرية.
المصدر: Wikipedia. Frieder Nake. https://en.wikipedia.org/wiki/Frieder_Nake
1969–1971 — مانفريد مور (Manfred Mohr) أنتج مانفريد مور، رسّام وموسيقي، أولى رسوماته الخوارزمية عام 1969 في باريس. عام 1971 عرض في متحف الفن الحديث لمدينة باريس (ARC) — أول معرض فن حاسوبي في متحف كبير.
المصدر: Wikipedia. Manfred Mohr. https://en.wikipedia.org/wiki/Manfred_Mohr
2.2 الأدوات والديمقراطية (1985–2001)
1985 — ماكس (Max) — ميلر بوكيت (Miller Puckette)، IRCAM طوّر ميلر بوكيت ماكس في IRCAM بباريس — بيئة برمجة تدفقية رسومية للموسيقى التفاعلية. تُتيح ماكس للموسيقيين غير المبرمجين إنشاء تفاعلات صوت/إيماءة في الوقت الحقيقي. عام 1997 نشرت Cycling '74 الإصدار التجاري Max/MSP (ميلر سميث بوكيت).
المصدر: Wikipedia. Max (software). https://en.wikipedia.org/wiki/Max_(software)
1996 — Pure Data (Pd) أنشأ ميلر بوكيت Pure Data (Pd)، النسخة المجانية مفتوحة المصدر من ماكس. أصبح Pd المرجع للفنانين الصوتيين والباحثين.
المصدر: Wikipedia. Pure Data. https://en.wikipedia.org/wiki/Pure_Data
~1998–2000 — vvvv طوّر فريق MESO Digital Interiors في فرانكفورت vvvv (رباعي V)، بيئة برمجة مرئية للإنشاء في الوقت الحقيقي. مؤثّر بشكل خاص في التركيبات المتحفية والعروض الحية.
المصدر: Wikipedia. Vvvv. https://en.wikipedia.org/wiki/Vvvv_(software)
2000 — TouchDesigner بنى غريغ هيرمانوفيتش في Derivative (تورنتو) TouchDesigner انطلاقاً من Houdini 4.1 عام 2000 — بيئة برمجة بصرية عقدية للتركيبات التفاعلية الآنية ورسم الخرائط المرئية وعروض VJing. صار المرجع الصناعي للتركيبات السمعبصرية.
المصدر: Wikipedia. TouchDesigner. https://en.wikipedia.org/wiki/TouchDesigner
2001 — Processing — كيسي ريس (Casey Reas) وبن فراي (Ben Fry) وُلد Processing عام 2001 في MIT Media Lab (مجموعة الجماليات والحوسبة لجون ماييدا)، من تأليف كيسي ريس وبن فراي. لغة/بيئة مبنية على Java صُمِّمت لتيسير الوصول إلى الكود البصري. صيغة setup() / draw() صارت النموذج المرجعي. تأسّست Processing Foundation عام 2012.
المصدر: Wikipedia. Processing. https://en.wikipedia.org/wiki/Processing_(programming_language) · https://processing.org
2.3 عصر الويب والديمقراطية الجذرية (2004–2016)
2004 — openFrameworks أطلق زاشاري ليبرمان (Zachary Lieberman) (مع ثيو واتسون وأرتورو كاسترو) openFrameworks، مجموعة أدوات C++ مفتوحة المصدر للبرمجة الإبداعية. شائعة للتركيبات الآنية ورؤية الحاسوب والمشاريع عالية الأداء.
المصدر: https://openframeworks.cc
~2010 — Cinder طوّرت The Barbarian Group مجموعة أدوات C++ Cinder، الموجَّهة للأداء العالي. اعتمدتها استوديوهات التصميم الإبداعي.
المصدر: https://libcinder.org
2013 — p5.js — لورين لي مكارثي (Lauren Lee McCarthy) أنشأت لورين لي مكارثي p5.js عام 2013، منفذةً Processing إلى JavaScript الأصلي. الفكرة: قيم Processing (إمكانية الوصول، دفتر الرسم) في المتصفح دون تثبيت. أصبح p5.js الأداة الأكثر استخداماً لتعليم البرمجة الإبداعية في العالم. عام 2022 انتقلت القيادة إلى Qianqian Ye.
المصدر: Wikipedia. p5.js. https://en.wikipedia.org/wiki/P5.js · https://p5js.org
2013 — Shadertoy أطلق بول خيريمياس (Pol Jeremias) وإينيغو كيليز (Inigo Quilez) Shadertoy (فبراير 2013)، منصة ويب لكتابة وتبادل ورؤية شيدرات GLSL مباشرةً في المتصفح. صار نقطة المرجع العالمية لمجتمع الشيدرات.
المصدر: Wikipedia. Shadertoy. https://en.wikipedia.org/wiki/Shadertoy · https://www.shadertoy.com
2.4 الفن التوليدي المعاصر والـ NFT (2020–2026)
منتصف الثمانينيات — مشهد الديمو (Demoscene) ظهر مشهد الديمو في الثمانينيات من ثقافة "cracktros" — مقدمات متحركة مرفقة بالبرامج المقرصنة. أسّست الديمو معايير برمجة الرسومات الآنية (الشيدرات، التحسين، مزامنة الموسيقى).
المصدر: Wikipedia. Demoscene. https://en.wikipedia.org/wiki/Demoscene
2020 — Art Blocks — إيريك كالديرون / Snowfro أطلق إيريك "Snowfro" كالديرون Art Blocks على بلوكشين Ethereum عام 2020 — منصة ينشر فيها الفنانون سكريبتات توليد خوارزمي، وكل عملية شراء تولّد عملاً فريداً. Chromie Squiggle وRingers وFidenza (تايلر هوبز) صارت رمزاً للحركة.
المصدر: Wikipedia. Generative art (cryptocurrency).
2021 — fxhash (Tezos) أُطلق fxhash في أكتوبر/نوفمبر 2021 على بلوكشين Tezos — بديل أكثر سهولةً ولامركزية من Art Blocks، برسوم أقل. سرّع إنتاج الفن التوليدي على السلسلة.
المصدر: Wikipedia. Generative art (cryptocurrency).
2021 — تايلر هوبز (Tyler Hobbs)، Fidenza نشر تايلر هوبز Fidenza على Art Blocks عام 2021. يستخدم Fidenza خوارزمية تدفق اضطرابي لتوليد 999 عملاً بتراكيب عضوية مميزة. صار من أكثر أعمال الفن التوليدي تقديراً ودراسة.
المصدر: https://tylerxhobbs.com
الفصل الثالث — الأسس التقنية
3.1 حلقة الرسم: setup/draw
كل برنامج في البرمجة الإبداعية يرتكز على دالتين أساسيتين:
`javascript // p5.js — البنية القياسية function setup() { createCanvas(800, 600); // تُنفَّذ مرة واحدة background(0); }
function draw() { // تُنفَّذ في حلقة (~60 مرة/ثانية بشكل افتراضي) // هنا: كل الرسم والحركة والتفاعلات } `
setup(): التهيئة (حجم اللوحة، الخلفية، المعاملات). draw(): حلقة التصيير — كل استدعاء = إطار واحد.
3.2 نظام الإحداثيات
نظام إحداثيات اللوحة معكوسٌ مقارنةً بالمستوى الرياضي المعتاد:
- الأصل
(0, 0)في أعلى اليسار - المحور x: نحو اليمين
- المحور y: نحو الأسفل (ملاحظة:
y = 0في الأعلى،y = heightفي الأسفل)
3.3 اللون
يدير p5.js اللون في RGB (0–255) أو HSB (التدرج (Hue) 0–360، التشبع (Saturation) 0–100، السطوع (Brightness) 0–100).
javascript colorMode(HSB, 360, 100, 100, 100); // HSB مع الشفافية fill(45, 80, 95); // تدرج دافئ مُشبَّع stroke(0, 0, 0, 50); // خط أسود شبه شفاف
وضع HSB أكثر سهولةً للتنقل بين الألوان في الحلقة.
3.4 العشوائية مقابل ضجيج بيرلين
العشوائية الخام (random()): قيم مستقلة "قافزة". مثالية لوضع عناصر غير مترابطة.
ضجيج بيرلين (noise()): قيم مستمرة سلسة. القيم المتجاورة متقاربة. مثالية لمحاكاة الطبيعي (الريح، التضاريس، الحركة العضوية).
`javascript // عشوائية: كل استدعاء = قيمة مستقلة let x = random(0, width);
// ضجيج: التنقل عبر فضاء الضجيج = تغير مستمر let t = frameCount 0.01; let x = noise(t) width; // حركة سلسة let y = noise(t + 100) * height; // إزاحة 100 لاستقلالية y عن x `
Perlin, K. (1985). An Image Synthesizer. SIGGRAPH '85 Proceedings، ص 287–296. https://doi.org/10.1145/325334.325247
3.5 التحويلات
التحويلات (الإزاحة translate، الدوران rotate، التحجيم scale) تطبَّق على كل ما يُرسم بعدها، حتى pop():
javascript push(); // حفظ حالة التحويل translate(cx, cy); // نقل نقطة الأصل rotate(angle); // دوران بالراديان scale(1.2); // معامل تحجيم //... الرسم هنا... pop(); // استعادة الحالة السابقة
3.6 الزمن والحركة
frameCount: عدد الإطارات منذ البداية. millis(): الميلي ثانية منذ البداية. sin() / cos(): تذبذب بين -1 و1 — أساس كل حركة دورية.
javascript // تذبذب: موضع y يصعد ويهبط let y = height/2 + sin(frameCount * 0.05) * 50;
الفصل الرابع — الرياضيات الإبداعية
4.1 حساب المثلثات
sin() وcos() يتيحان وضع نقاط على دائرة، وإنشاء تذبذبات، وتوليد منحنيات عضوية.
javascript // وضع N نقطة على دائرة let n = 12; for (let i = 0; i < n; i++) { let angle = (TWO_PI / n) * i; let x = cx + radius * cos(angle); let y = cy + radius * sin(angle); ellipse(x, y, 8, 8); }
4.2 حقول الاتجاه
حقل الاتجاه (Vector field) يربط متجه اتجاه بكل نقطة في الفضاء. ضجيج بيرلين يولّد حقلاً عضوياً — كل جسيم يتبع الاتجاه المحلي للحقل.
javascript // الاتجاه المحلي في حقل ضجيج let angle = noise(x * 0.003, y * 0.003, frameCount * 0.0008) * TWO_PI * 2; let v = p5.Vector.fromAngle(angle);
4.3 الكسوريات والتشابه الذاتي
الكسوريات (Fractals) تُظهر تشابهاً ذاتياً على مقاييس مختلفة — التكبير يكشف عن نفس البنية. أمثلة: مجموعة ماندلبروت، ندفة كوك، سرخس بارنسلي.
التعاودية (Recursion) في p5.js: javascript function branch(x, y, length, angle, depth) { if (depth === 0) return; let x2 = x + cos(angle) * length; let y2 = y + sin(angle) * length; line(x, y, x2, y2); branch(x2, y2, length * 0.67, angle - 0.4, depth - 1); branch(x2, y2, length * 0.67, angle + 0.4, depth - 1); }
4.4 أنظمة L (L-Systems)
قدّمها عالم النبات أريستيد ليندنماير (Aristid Lindenmayer) عام 1968، أنظمة L قواعد إعادة كتابة شكلية تنمذج نمو النباتات.
المحور: F القاعدة: F → F[+F]F[-F]F التكرارات: 5
4.5 الأتمتة الخلوية
الأتمتة الخلوية (Cellular Automaton) شبكة خلايا تتطور حالتها وفق قواعد محلية. لعبة الحياة (Game of Life) لـكونواي (1970) هي المثال القياسي: 4 قواعد بسيطة تولّد أنماطاً من التعقيد اللانهائي.
4.6 فيزياء الجسيمات
محاكاة الجسيمات الفيزيائية: الموضع، السرعة، التسارع. كل إطار: الخطوة = الموضع += السرعة += التسارع؛ تطبيق الاحتكاك والحدود والقوى.
javascript class Particle { constructor(x, y) { this.pos = createVector(x, y); this.vel = p5.Vector.random2D().mult(2); this.acc = createVector(0, 0.1); // الجاذبية } update() { this.vel.add(this.acc); this.vel.mult(0.98); // احتكاك this.pos.add(this.vel); } }
الفصل الخامس — المجالات التطبيقية
5.1 الفن التوليدي
الفن التوليدي يستخدم أنظمة ذاتية (خوارزميات وقواعد وعشوائية) لتوليد أعمال. الفنان يُعرّف النظام لا العمل. كل توليد ينتج تباينات.
5.2 فن البيانات
فن البيانات يحوّل البيانات إلى أشكال بصرية بنية جمالية وسردية، أبعد من مجرد المعلومة. عمل DATA RUG لكامل غابتي سجادة توليدية تتحول فيها بيانات مغربية مفتوحة إلى نمط نسيجي.
5.3 الطباعة التوليدية
تحريك النص وتشويهه وتفتيته وفق قواعد خوارزمية — الحرف يصبح شكلاً متحركاً. الخطّاط والخوارزمية يتشاركان الاهتمام ذاته بالخط.
5.4 الأنماط والزخرفة الخوارزمية
الهندسات التقليدية (الزليج المغربي، الأنماط الأمازيغية، التسطيحات الإسلامية) تنسجم طبيعياً مع التوليد الخوارزمي — قواعد التناظر والتكرار فيها كود بالأصل.
→ انظر: ماستركلاس الزليج
5.5 الاستجابة الصوتية
الاستجابة الصوتية (Audio-reactive) تحوّل إشارة صوتية (السعة، ترددات FFT) في الوقت الحقيقي إلى معاملات بصرية. المرئيات "ترقص" مع الموسيقى.
javascript // p5.js مع p5.sound let fft = new p5.FFT(); //... function draw() { let spectrum = fft.analyze(); for (let i = 0; i < spectrum.length; i++) { let h = map(spectrum[i], 0, 255, 0, height); rect(i * 2, height - h, 2, h); } }
5.6 الوقت الحقيقي والتركيبات التفاعلية
التركيبات التفاعلية تُطلق سلوكيات بصرية/صوتية استجابةً لأجهزة الاستشعار (الوجود والإيماءة والصوت). TouchDesigner هو المرجع التقني للتركيبات الكبرى.
5.7 شيدرات GLSL
الشيدرات (Shaders) برامج تُنفَّذ مباشرةً على وحدة معالجة الرسومات (GPU) — أسرع لا حدود لها من المعالج المركزي للعمليات البصرية المتوازية. شيدر الشظايا (Fragment shader) يحسب لون كل بكسل بشكل مستقل ومتوازٍ.
glsl // شيدر GLSL مبسّط void main() { vec2 uv = gl_FragCoord.xy / u_resolution; vec3 color = vec3(uv.x, uv.y, 0.5 + 0.5 * sin(u_time)); gl_FragColor = vec4(color, 1.0); }
5.8 جسر AR/VR
البرمجة الإبداعية توفر الأسس التقنية لتجارب الواقع المعزز (AR) والافتراضي (VR): الشيدرات للمواد، وفيزياء الجسيمات للمؤثرات، والتوليد الإجرائي للبيئات.
الفصل السادس — الأدوات والنظام البيئي 2026
6.1 البيئات العامة
| الأداة | اللغة | المستوى | الرابط |
|---|---|---|---|
| p5.js | JavaScript | مبتدئ | https://p5js.org |
| Processing | Java | مبتدئ | https://processing.org |
| openFrameworks | C++ | متوسط/متقدم | https://openframeworks.cc |
| Cinder | C++ | متقدم | https://libcinder.org |
| three.js | JavaScript (WebGL) | متوسط | https://threejs.org |
| Hydra | JavaScript | مبتدئ/متوسط | https://hydra.ojack.xyz |
6.2 البيئات العقدية (الوقت الحقيقي)
| الأداة | الاستخدام | الرابط |
|---|---|---|
| TouchDesigner | تركيبات، رسم خرائط، VJing | https://derivative.ca |
| vvvv | تركيبات تفاعلية، التصيير | https://vvvv.org |
| Max/MSP | موسيقى تفاعلية، صوت | https://cycling74.com |
| Pure Data | صوت مفتوح المصدر | https://puredata.info |
6.3 الشيدرات و GPU
| الأداة | الاستخدام | الرابط |
|---|---|---|
| Shadertoy | كتابة/تبادل شيدرات GLSL مباشرة | https://shadertoy.com |
| The Book of Shaders | مرجع تعليمي للشيدرات | https://thebookofshaders.com |
| ISF | شيدرات للـ VJing | https://isf.video |
6.4 المجتمعات والمعارض
| المنصة | النوع | الرابط |
|---|---|---|
| OpenProcessing | معرض سكيتشات Processing/p5.js | https://openprocessing.org |
| Art Blocks | معرض/سوق الفن التوليدي على السلسلة | https://artblocks.io |
| fxhash | معرض الفن التوليدي على Tezos | https://www.fxhash.xyz |
الفصل السابع — من السكيتش إلى العمل المعروض
7.1 الأداء والدقة
سكيتش p5.js يعمل بـ 60 إطاراً/ثانية على حاسوب عادي للتراكيب البسيطة. فوق ~50,000 كائن مرسوم في الإطار، تصبح التحسينات ضرورية:
- الصور/الأنسجة بدلاً من إعادة الرسم كل إطار
- createGraphics(): مخزن خارج الشاشة للأجزاء الثابتة
- شيدرات GLSL للمؤثرات البصرية المتوازية
- WebWorkers للحوسبة الثقيلة خارج خيط واجهة المستخدم
تصدير عالي الدقة: javascript // p5.js: حفظ صورة عالية الدقة pixelDensity(3); // 3× دقة الشاشة saveCanvas('تكوين', 'png');
7.2 السينوغرافيا
لتركيب معرضي أو عرض احترافي:
- الشكل: أي حجم شاشة؟ عمودي/أفقي؟ الدقة؟
- التفاعل: هل العمل تفاعلي (مستشعر، ماوس، لوحة مفاتيح، ميكروفون) أم مستقل؟
- الحلقة: مدة دورة واحدة؟ إعادة تشغيل تلقائية؟
- المتانة: هل يعمل العمل 8 ساعات دون تدخل؟
7.3 جسر AR/VR
تقنيات البرمجة الإبداعية (الشيدرات، الجسيمات، التوليد الإجرائي) تتكامل مباشرةً مع مسارات AR (three.js + WebXR) وVR (شيدرات Unity، TouchDesigner مباشر).
الفصل الثامن — الأخلاقيات والذكاء الاصطناعي
8.1 الذكاء الاصطناعي التوليدي والموقف التأليفي
الذكاء الاصطناعي التوليدي (Stable Diffusion، MidJourney، GPT، Claude) أداةٌ متاحة الآن في مسار الإبداع. السؤال المطروح على المبرمج الإبداعي هو نفسه مع أي أداة أخرى: ما النية؟ من يقرر؟
الذكاء الاصطناعي كأداة توليد خام (دون نية) ≠ البرمجة الإبداعية كممارسة تأليفية. الأداة لا تصنع الفن — القرار بما تفعل بالناتج هو ما يصنعه.
8.2 الحقوق والتوظيف
عملٌ يُولَّد خوارزمياً من برنامج أصلي يخضع لحقوق النشر الخاصة بمؤلف البرنامج (في معظم الولايات القضائية). عمل "مُولَّد بالذكاء الاصطناعي" وحده (دون مساهمة إبداعية بشرية جوهرية) في منطقة رمادية قانونية تتطور بسرعة. يُنصح بالاستشارة في كل ولاية قضائية.
8.3 قابلية التكرار والبذرة
برنامج حتمي (Deterministic) ببذرة (seed) ثابتة ينتج دائماً نفس العمل. نشر البذرة مع العمل شكلٌ من الشفافية (المشتري يمكنه التحقق من التفرد وقابلية التكرار). هذا هو نموذج Art Blocks.
javascript // p5.js: بذرة ثابتة لقابلية التكرار randomSeed(42); noiseSeed(42);
8.4 المصدر المفتوح والمجتمع
البرمجة الإبداعية حركةٌ مفتوحة المصدر بعمق. p5.js وProcessing وopenFrameworks وPureData مجانية يحافظ عليها مجتمعات. المساهمة — تبليغ الأخطاء والتوثيق والترجمة — طريقة للمشاركة في النظام البيئي.
الفصل التاسع — المسرد (42 مصطلحاً)
| المصطلح | التعريف |
|---|---|
| مؤثّر (Affector) | كائن يعدّل خصائص كائنات أخرى في المشهد |
| خوارزمية توليدية (Generative Algorithm) | مجموعة قواعد تنتج تباينات من نفس البنية |
| حركة إجرائية (Procedural Animation) | حركة تُولَّد بالحوسبة لا بالمفاتيح الزمنية |
| فن توليدي (Generative Art) | فن يُنشأ عبر نظام مستقل (خوارزمية، قواعد، عشوائية) |
| أتمتة خلوية (Cellular Automaton) | شبكة خلايا تتطور وفق قواعد محلية |
| منحنى بيزيه (Bézier Curve) | منحنى محدد بنقاط تحكم — أساس الأشكال المتجهية |
| Bloom | تأثير إفاضة الضوء حول المناطق المضيئة |
| حلقة التصيير (Rendering Loop) | دورة تُكرَّر كل إطار: حوسبة + رسم |
| لوحة رسم (Canvas) | سطح الرسم الرقمي (HTML Canvas، لوحة p5.js) |
| حقل اتجاه (Vector Field) | ربط متجه اتجاه بكل نقطة في الفضاء |
| صنف (Class) | بنية كود تجمع البيانات والسلوكيات (OOP) |
| إحداثيات قطبية (Polar Coordinates) | مرجع بالمسافة والزاوية، مقابل الإحداثيات الكارتيزية |
| برمجة إبداعية (Creative Coding) | ممارسة يكون فيها الكود أداة تعبير |
| فن البيانات (Data Art) | تحويل البيانات إلى أشكال بصرية بنية فنية |
| مشهد الديمو (Demoscene) | ثقافة إنشاء عروض رسومات آنية بحجم أدنى |
| حتمية (Determinism) | برنامج بنفس المدخلات ينتج دائماً نفس المخرجات |
| تخفيف (Easing) | منحنى استيفاء لحركات طبيعية |
| تحليل فورييه السريع (FFT) | تحليل إشارة صوتية إلى تردداتها — أساس الاستجابة الصوتية |
| شيدر الشظايا (Fragment Shader) | برنامج GPU يحسب لون كل بكسل |
| معدل الإطارات (Framerate) | عدد الصور المولَّدة في الثانية |
| GLSL | لغة شيدرات OpenGL |
| GPU | وحدة معالجة الرسومات — توازٍ آلاف العمليات في آنٍ واحد |
| Hydra | بيئة ترميز حيّ بصري للـ VJing |
| نسخة (Instance) | تحقق ملموس لصنف |
| استيفاء (Interpolation) | حساب قيمة بين قيمتين معلومتين |
| نظام L (L-System) | قواعد إعادة كتابة شكلية لنمذجة النمو |
| lerp() | استيفاء خطي بين قيمتين |
| map() | تحويل نطاق قيم إلى نطاق آخر |
| مودولو (%) | باقي القسمة الصحيحة — مفيد للحلقات والشبكات |
| ضجيج (Noise) | قيم عشوائية مستمرة — ضجيج بيرلين، ضجيج بسيط |
| openFrameworks | مجموعة أدوات C++ مفتوحة للبرمجة الإبداعية |
| تذبذب (Oscillation) | حركة متكررة بين حالتين أو موضعين |
| p5.js | إطار عمل JavaScript للبرمجة الإبداعية |
| جسيم (Particle) | كيان بموضع وسرعة وتسارع — أساس المحاكاة |
| ضجيج بيرلين (Perlin Noise) | ضجيج شبه عشوائي سلس، اخترعه كين بيرلين (1985) |
| Processing | بيئة برمجة إبداعية بـJava (ريس وفراي، 2001) |
| تعاودية (Recursion) | دالة تستدعي ذاتها — أساس الكسوريات وأنظمة L |
| بذرة (Seed) | بذرة العشوائية — نفس البذرة = نفس النتيجة |
| شيدر (Shader) | برنامج GPU للمؤثرات البصرية الآنية |
| سكيتش (Sketch) | برنامج قصير استكشافي — الوحدة الأساسية في البرمجة الإبداعية |
| TouchDesigner | بيئة عقدية للتركيبات والعروض |
| شيدر الرؤوس (Vertex Shader) | برنامج GPU يحسب موضع رؤوس الشبكة |
الفصل التاسع — المراجع الكاملة
المصادر الأولية
- Perlin, K. (1985). An Image Synthesizer. SIGGRAPH '85، ص 287–296. https://doi.org/10.1145/325334.325247
- Lindenmayer, A. (1968). Mathematical models for cellular interactions in development. Journal of Theoretical Biology، 18(3)، 280–315.
- Sutherland, I. (1963). Sketchpad: A Man-Machine Graphical Communication System. أطروحة دكتوراه، MIT.
المصادر الثانوية والموارد
- Wikipedia. Processing (programming language). https://en.wikipedia.org/wiki/Processing_(programming_language)
- Wikipedia. p5.js. https://en.wikipedia.org/wiki/P5.js
- Wikipedia. openFrameworks. https://en.wikipedia.org/wiki/OpenFrameworks
- Wikipedia. TouchDesigner. https://en.wikipedia.org/wiki/TouchDesigner
- Wikipedia. Vera Molnár. https://en.wikipedia.org/wiki/Vera_Moln%C3%A1r
- Wikipedia. Georg Nees. https://en.wikipedia.org/wiki/Georg_Nees
- Wikipedia. Demoscene. https://en.wikipedia.org/wiki/Demoscene
- Wikipedia. Shadertoy. https://en.wikipedia.org/wiki/Shadertoy
- Wikipedia. Max (software). https://en.wikipedia.org/wiki/Max_(software)
- Wikipedia. Pure Data. https://en.wikipedia.org/wiki/Pure_Data
للاستزادة
- توثيق p5.js: https://p5js.org/reference/
- The Nature of Code (دانييل شيفمان): https://natureofcode.com
- The Coding Train (YouTube): https://www.youtube.com/c/TheCodingTrain
- The Book of Shaders (باتريسيو غونزاليز فيفو ووجين لاو): https://thebookofshaders.com
- Generative Design (هارتمان وآخرون): كتاب مرجعي لـ Processing/p5.js
- Form+Code (كيسي ريس وتشاندلر ماكويليامز): https://formandcode.com
- OpenProcessing: https://openprocessing.org
- Shadertoy: https://shadertoy.com
الجسر نحو التدريب
هذا المرجع وثيقةٌ عامة. للمضي أبعد:
→ تدريب البرمجة الإبداعية — من السكيتشات إلى الأعمال المعروضة → ورشة مكثّفة للمدارس العليا والاستوديوهات الإبداعية (1–3 أيام) → احجزوا مكالمة 30 دقيقة — مجاناً
ورشة مكثّفة (يوم–يومان) للمدارس والاستوديوهات والمتاحف — نظرية مركّزة، تطبيقات موجّهة، مرافقة مشروع.
احجزوا مكالمة 30 دقيقة (مجاناً) →