التنفيذ القائم على الويب لخوارزمية SquiggledRaw ، التي تم تنفيذها في الأصل بواسطة Gregg Wygonik.
يلتقط الإصدار عبر الإنترنت من هذا المشروع صورة من كاميرا الويب الخاصة بك ويحولها إلى ملف SVG قابل للسحب ، والذي يمكن تراجعه بالليزر.
إليك مثال على صورة الإخراج التي تم إنشاؤها باستخدام هذه الأداة:
وهنا مقطع فيديو يستخدم هذه الأداة:
استنساخ أو تنزيل هذا الريبو ، ثم قم بتشغيل هذا الأمر لتثبيت جميع التبعيات محليًا:
npm install
بعد ذلك ، قم بتشغيل هذا الأمر لمشاهدة التغييرات وإطلاق صفحة HTML في المتصفح:
npm run dev
تقوم الخوارزمية بمعالجة الصورة بالطريقة التالية:
Retrieve photo as an array of pixels IMAGE
Set desired number of horizontal lines as LINE_COUNT
Set desired number of vertical spacing as SPACING
Set desired line amplitude as AMPLITUDE
Set desired line rotation frequency as FREQUENCY
For y :=0 to image height step image height / LINE_COUNT do
Set startx := 0
Set starty := y
Create a set of coordinates as [startx, starty]
For x := 1 to image width step SPACING do
Get brightness br of the current pixel as average of r,g,b values
Set r := (255 - br) / LINE_COUNT * AMPLITUDE
Set a := (255 - br) / FREQUENCY
Create a set of coordinates as [x, y + Math.sin(a) * r]
Pass the resulting array of coordinates to rendering application
يمكن تحميل ملف الإخراج SVG الذي تم إنشاؤه باستخدام هذه الأداة إلى محول SVG -> GCODE (أو ما شابه) من أجل رسمه على مخطط القلم أو محفور على قاطع الليزر.
إذا كنت ترغب في تنفيذ أي من هذه أو المساهمة - يرجى إنشاء مشكلة ولا تتردد في تقديم العلاقات العامة ، وسأكون ممتناً.
رخصة معهد ماساتشوستس للتكنولوجيا