سؤال

وطيب، ولذا فإنني سوف أحاول أن أكون صفية قدر الإمكان.

وأنا أعمل على مشروع لعميل يتطلب ميزة اخفاء غرار جيبجاب من الصور التي يتم تحميلها.

وأود أن تكون قادرة على توليد كائن قاعدة بيانات للتخزين يحتوي على مواقف مرساة / السيطرة على شكل بيزيه، حتى أستطيع أن تخلعها في وقت لاحق وإعادة إخفاء الكائن. كل هذا من السهل جدا القيام به، باستثناء الصيد واحد: أنا بحاجة لإنشاء الكائن بيزيه من الخطوط العريضة مرسومة المستخدم

وحتى الآن، وهنا كيف أتصور أن عملية مستمرة:

وعلى الماوس لأسفل، إنشاء كائن جديد، beginFill، وموقف MoveTo لالماوس.

وعلى تحرك الماوس، lineTo وXY تنسيق.

وعلى الماوس لأعلى، endFill.

وهذا كله يعمل كبيرة فقط. أنا فقط يمكن تخزين المعلومات هنا، ولكن أرجو أن تبحث في وجوه عملاقة الكامل للطن من الإحداثيات غير مجدية جدا س / ص، وليس وسيلة لجعل حقا التغييرات صقل خارج وضع مقابض في كل بكسل. (I قد تعطي كذلك المستخدم النهائي أداة قلم رصاص ...)

وإليك ما أنا أفكر بقدر حساب منحنى بيزيه المثل:

1: معرفة عندما كنت في حاجة لبدء منحنى جديد، وتتبع س ص من بكسل على هذا الفاصل الزمني. انا تخيل هذا كونها مجرد العد بكسل، ربما مجرد زيادة متغير عدد في تحرك الماوس وجعل واحدة جديدة كل س بكسل. القضية هنا هي أن بعض المنحنيات تكون غير دقيقة، وغيرهم لا لزوم لها، ولكن أنا حقا في حاجة الى المجال العام، وليس التمثيل الصحيح، لذلك يمكن أن تنجح. سأكون أكثر سعادة مع شيء على الرغم قليلا أكثر ذكاء.

2: تأخذ كل جديد س / ص، تخزينه باعتباره مرتكزا، ومعرفة أين عنصر تحكم ستذهب لجعل منحنى الخط الفاصل بين هذا ومرساة الماضي. هذا هو المكان الذي نتوقف حقا. أنا فعلت هذا متأكد من شخص في ومضة، ولكن أي قدر من غوغلينغ يمكن أن يبدو لمساعدتي مع طريقة لتحقيق هذا. لقد فعلت الكثير من رسم وما الرياضيات قليلا أستطيع أن التفاف ذهني حولها، ولكن لا يمكن أن يبدو لمعرفة طريقة لتحويل بكسل إلى بيزييه.

هل هذا ممكن؟ كل ما تحتاجه هو حقا شيء من شأنها أن الاقتراب من نفس الشكل. أنا أفكر في المراسي ربما فقط وضع عند زاوية بكسل المقبل هو أبعد من 180 درجة فيما يتعلق السطر الحالي أو شيء من هذا، ومجرد الاستيلاء على حافة القوس بين هذه التغييرات، ولكن مهما كان صعبا وأنا أحاول، وأنا لا يمكن أن يبدو لمعرفة كيفية الحصول على هذا العمل!

وشكرا لمساعدتكم، وأنا على يقين من أن الرد على التقدم المحرز في بلدي هنا وأنا أذهب، وأنا أعتقد أن هذا يمكن أن يكون مفيدا حقا في العديد من التطبيقات، ما دام ذلك ممكنا في الواقع ...

وجيسي

هل كانت مفيدة؟

المحلول 3

وشكرا على الأجوبة، وعلى الرغم من أنني أعتقد ربما ينبغي أن يكون أكثر تحديدا حول التطبيق، أنا حقا فقط تحتاج إلى مخطط لقناع، لذلك تحويل الصور إلى ناقلات أو المضلعات، على الرغم من كم بارد وهذا هو، لا إصلاح حقا قضية بلدي. الخطي أقل خوارزمية الساحات وميجا بارد، وأعتقد أن هذا قد يكون أقرب إلى ما كنت أبحث عنه.

ولدي الحل الأساسي ذاهب الآن، أنا فقط عد حركات الماوس، ثم كل X (اللعب معها للحصول على منحنى أكثر من المرغوب فيه) التحركات، I انتزاع موقف س ص. ثم، واتخاذ كل س ص المخزنة الأخرى، وتحويلها إلى مرساة، يتم تشغيل XYS المتبقية في الضوابط. هذا هو تحقيق نتائج مرغوبة إلى حد ما، ولكن لديه بعض القضايا الصغيرة، حيث أن السرعة التي يتم رسمها قناع آثار عدد من مقابض، وانها في الحقيقة مجرد الحصول على المجال العام، لا تناسب دقيق. ومن المثير للاهتمام، ويبدو للمستخدمين رسم أبطأ عن الأشكال أكثر دقة، لذلك هذا الحل يعمل بشكل أفضل بكثير مما كان يتصور، ولكنها ليست جميلة كما يمكن أن يكون. وهذا العمل للعميل، وذلك على الرغم من أن ليس هناك سبب لمتابعة أكثر من ذلك، أود تعلم أشياء جديدة، وسوف تنفق بعض من الوقت على مدار الساعة النظر في خطي أقل المعادلات ورؤية ما اذا كان يمكنني حشد فئة من شأنها أن تفعل هذه الحسابات لي. إذا كان يتم تشغيل أي شخص عبر بعض التعليمات البرمجية AS3 لهذا النوع من الشيء، أو يرغب بعض من الألغام، واسمحوا لي أن أعرف، وهذا هو لغز مثيرة للاهتمام.

نصائح أخرى

وهذا يبدو وكأنه الكثير من العمل لتحويل بكسل إلى منحنيات بيزيه. هل يمكن أن حاول استخدام شيء من هذا القبيل الخطي المربعات الخوارزمية. http://en.wikipedia.org/wiki/Linear_least_squares

ووبراعة مختلفة، هل يمكن أن يكون للمستخدمين رسم الرسومات الموجهة بدلا من ذلك؟ وبهذه الطريقة يمكنك تخزين فقط الأشكال في قاعدة البيانات.

وأسلوب بارد آخر من تحويل النقطية إلى ناقلات سيكون شيئا مثل هذا البرنامج تكرارية: <لأ href = "http://rogeralsing.com/2008/12/07/genetic-programming-evolution-of-mona-lisa/ "يختلط =" noreferrer نوفولو "> http://rogeralsing.com/2008/12/07/genetic-programming-evolution-of-mona-lisa/

وحظا سعيدا

في جوابي على هذا السؤال أناقش باستخدام <لأ href = "HTTP: / /autotrace.sourceforge.net/ "يختلط =" نوفولو noreferrer "> autotrace لتحويل الصور النقطية الى بيزييه. أوصي يمر المستخدم رسم من خلال هذا البرنامج على الخادم. Autotrace يقوم بعمل رائع للبحث عن المفقودين وتبسيط لذلك ليس هناك حاجة لمحاولة إعادة اختراع العجلة هنا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top