আমি গত কয়েকদিন ধরে এই বিষয়ে সন্ধান করছিলাম কারণ আমার একই সমস্যা রয়েছে ... দৃশ্যমান রৈখিক উপায়ে পিডাব্লুএম ব্যবহার করে এলইডিগুলিকে ম্লান করার চেষ্টা করছি, তবে আমি সম্পূর্ণ 256 ধাপের রেজোলিউশন চাই। ম্যানুয়ালি একটি বক্ররেখা তৈরি করতে 256 নম্বর অনুমান করার চেষ্টা করা সহজ কাজ নয়!
আমি একজন বিশেষজ্ঞ গণিতবিদ নই, তবে তারা কীভাবে কাজ করে তা না জেনে কয়েকটি ফাংশন এবং সূত্র একত্রিত করে কিছু প্রাথমিক বক্ররেখা উত্পন্ন করতে আমি যথেষ্ট জানি। আমি দেখতে পেলাম যে একটি স্প্রেডশিট (আমি এক্সেল ব্যবহার করেছি) ব্যবহার করে আপনি 0 থেকে 255 পর্যন্ত সংখ্যার সেট নিয়ে প্রায় খেলতে পারেন, পরবর্তী কক্ষে কয়েকটি সূত্র রেখে দিতে পারেন এবং সেগুলি আঁকুন।
আমি বিবর্ণ করতে পিক এসেম্ব্লার ব্যবহার করছি এবং তাই আপনি এমনকি কোনও সূত্র ( ="retlw 0x" & DEC2HEX(A2)
) দিয়ে এসেম্বলারের কোডটি তৈরি করতে স্প্রেডশিটটি পেতে পারেন । এটি খুব দ্রুত এবং একটি নতুন বক্ররেখার চেষ্টা করা সহজ করে তোলে।
এলওজি এবং এসআইএন ফাংশন, দুটির গড় এবং আরও কয়েকটি জিনিস নিয়ে বেশ কিছুটা খেলার পরে আমি সত্যিই সঠিক বক্ররেখা পেতে পারি না। যা হচ্ছে তা হ'ল বিবর্ণের মাঝের অংশটি নিম্ন এবং উচ্চ স্তরের তুলনায় ধীরে ধীরে ঘটছিল। এছাড়াও, যদি বিবর্ণ অবিলম্বে ফেইড-ডাউন অনুসরণ করা হয় তবে তীব্রতার মধ্যে একটি তীব্র লক্ষণীয় স্পাইক ছিল। যা প্রয়োজন (আমার মতে) একটি এস বক্ররেখা।
উইকিপিডিয়ায় একটি দ্রুত অনুসন্ধান এস বক্রের জন্য প্রয়োজনীয় সূত্র নিয়ে আসে। আমি এটিকে আমার স্প্রেডশীটে প্লাগ ইন করে এটিকে আমার মানগুলির পরিসীমা জুড়ে বহুবার করার জন্য কয়েকটি সামঞ্জস্য করেছি এবং এটি নিয়ে এসেছি:
আমি এটি আমার রগতে পরীক্ষা করেছি এবং এটি সুন্দরভাবে কাজ করেছে।
আমি যে এক্সেল সূত্রটি ব্যবহার করেছি তা হ'ল:
=1/(1+EXP(((A2/21)-6)*-1))*255
যেখানে A2 হ'ল কলামের প্রথম মান, যা প্রতিটি মানের জন্য A3, A4, ..., A256 বৃদ্ধি করে।
এটি গাণিতিকভাবে সঠিক কিনা তা আমার কোনও ধারণা নেই তবে এটি পছন্দসই ফলাফল উত্পন্ন করে।
আমি ব্যবহৃত 256 স্তরের পূর্ণ সেট এখানে দিচ্ছি:
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05,
0x05, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x08, 0x08, 0x08, 0x09, 0x09, 0x0A, 0x0A, 0x0B, 0x0B,
0x0C, 0x0C, 0x0D, 0x0D, 0x0E, 0x0F, 0x0F, 0x10, 0x11, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1F, 0x20, 0x21, 0x23, 0x24, 0x26, 0x27, 0x29, 0x2B, 0x2C,
0x2E, 0x30, 0x32, 0x34, 0x36, 0x38, 0x3A, 0x3C, 0x3E, 0x40, 0x43, 0x45, 0x47, 0x4A, 0x4C, 0x4F,
0x51, 0x54, 0x57, 0x59, 0x5C, 0x5F, 0x62, 0x64, 0x67, 0x6A, 0x6D, 0x70, 0x73, 0x76, 0x79, 0x7C,
0x7F, 0x82, 0x85, 0x88, 0x8B, 0x8E, 0x91, 0x94, 0x97, 0x9A, 0x9C, 0x9F, 0xA2, 0xA5, 0xA7, 0xAA,
0xAD, 0xAF, 0xB2, 0xB4, 0xB7, 0xB9, 0xBB, 0xBE, 0xC0, 0xC2, 0xC4, 0xC6, 0xC8, 0xCA, 0xCC, 0xCE,
0xD0, 0xD2, 0xD3, 0xD5, 0xD7, 0xD8, 0xDA, 0xDB, 0xDD, 0xDE, 0xDF, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5,
0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xED, 0xEE, 0xEF, 0xEF, 0xF0, 0xF1, 0xF1, 0xF2,
0xF2, 0xF3, 0xF3, 0xF4, 0xF4, 0xF5, 0xF5, 0xF6, 0xF6, 0xF6, 0xF7, 0xF7, 0xF7, 0xF8, 0xF8, 0xF8,
0xF9, 0xF9, 0xF9, 0xF9, 0xFA, 0xFA, 0xFA, 0xFA, 0xFA, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC,
0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD,
0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF