|
2 | 2 |
|
3 | 3 | [en](../README.md) · [zh-Hans](README.zh-Hans.md) · [hi](README.hi.md) · [es](README.es.md) · [fr](README.fr.md) · **bn** · [pt](README.pt.md) · [ru](README.ru.md) · [id](README.id.md) · [de](README.de.md) · [ja](README.ja.md) · [tr](README.tr.md) · [vi](README.vi.md) · [ko](README.ko.md) · [it](README.it.md) · [pl](README.pl.md) · [uk](README.uk.md) · [uz](README.uz.md) · [az](README.az.md) · [kk](README.kk.md) · [be](README.be.md) |
4 | 4 |
|
5 | | -ব্রাউজারে চলা একটা এডিটর, যেটা একটা ছবিকে low-poly ছবিতে (ত্রিভুজ দিয়ে গড়া ছবি) বদলে দেয়। সাধারণ জেনারেটরগুলোর থেকে এর সবচেয়ে বড় তফাত হলো: তৈরি হওয়া বেসিক জাল ছাড়াও তুমি নিজে গাইড লাইন আঁকতে পারো, আর ত্রিভুজের কিনারাগুলো সেগুলোর সঙ্গে সঙ্গে চলে। তাই গুরুত্বপূর্ণ রূপরেখাগুলো - থুতনির রেখা, চশমার ফ্রেম, কারও অবয়ব - স্পষ্ট থেকে যায়, কোনো এলোমেলো জালে হারিয়ে যায় না। তৈরি ফলটা তুমি ভেক্টর (SVG, PDF) বা ছবি (PNG, JPG, WebP) হিসেবে সেভ করতে পারো। |
| 5 | +ব্রাউজার-ভিত্তিক এডিটর, যা যেকোনো ছবিকে ত্রিভুজ দিয়ে তৈরি একটি low-poly ছবিতে রূপান্তর করে। সাধারণ জেনারেটরগুলোর থেকে এর প্রধান পার্থক্য হলো: তৈরি হওয়া জালের উপর তুমি নিজেই গাইডলাইন আঁকো, আর ত্রিভুজের প্রান্তগুলো সেই গাইডলাইন বরাবর চলে। থুতনির রেখা, চশমার ফ্রেম, সিলুয়েটের মতো গুরুত্বপূর্ণ রূপরেখা এলোমেলো জালে হারিয়ে না গিয়ে স্পষ্ট থেকে যায়। |
6 | 6 |
|
7 | | -**[এডিটর খোলো](https://jango-git.github.io/polygonize/)** |
| 7 | +**[এডিটর খুলুন](https://jango-git.github.io/polygonize/)** |
8 | 8 |
|
9 | 9 |  |
10 | 10 |
|
11 | | -## কী কী পারে |
| 11 | +## যা করতে পারে |
12 | 12 |
|
13 | | -- **গাইড লাইন যেগুলো তুমি নিজে আঁকো।** ছবির ওপরে রেখা, বৃত্ত, মসৃণ বক্ররেখা টানো - আর ত্রিভুজগুলো সেগুলোর সঙ্গে সঙ্গে নিজেদের সাজিয়ে নেয়। এগুলো ছবির ওপরে আলাদা আলাদা মডিফায়ার, তাই যেকোনো সময় এগুলো সরানো যায়, ডিটেলের সেটিং বদলানো যায়, কিংবা গ্রুপ করা যায়। |
14 | | -- **জাল ডিটেলের সঙ্গে মানিয়ে নেয়।** যেখানে অনেক খুঁটিনাটি আর তীক্ষ্ণ কিনারা, সেখানে ত্রিভুজ ছোট; আকাশ বা ব্যাকগ্রাউন্ডের মতো সমান জায়গায় বড়। ছবিটা সেখানেই সূক্ষ্ম হয় যেখানে দরকার, বাকি জায়গায় শান্ত থাকে। আবার ফলটা নিশ্চিতভাবে পুনরায় তৈরি করা যায়: একই সেটিং দিলে জালটা ঠিক একইরকম হবে। |
15 | | -- **শুরুর জন্য স্বয়ংক্রিয় ট্রেসিং।** যাতে একদম শূন্য থেকে শুরু করতে না হয়, তার জন্য "ছবি ট্রেস করুন" চাপো - এডিটর নিজেই ছবির কিনারাগুলো খুঁজে বের করে আর সেগুলোকে এডিট করা যায় এমন মডিফায়ারে বদলে দেয়, যেগুলো একটা আলাদা গ্রুপে জড়ো হয়। |
16 | | -- **ত্রিভুজের রং।** প্রতিটা ত্রিভুজ তার নিচের পিক্সেলগুলোর গড় রঙে ভরে যায় - কিংবা মিডিয়ান রঙে, যদি কড়া ঝলমলে রংগুলো একটু চাপা দিতে চাও। |
17 | | -- **এক্সপোর্ট।** ভেক্টর (SVG, PDF) বা র্যাস্টার (PNG, JPG, WebP), 4096 পিক্সেল পর্যন্ত। |
18 | | -- **প্রজেক্ট।** তোমার কাজ একটা `.json` ফাইলে সেভ করো আর পরে আবার সেটায় ফিরে এসো। আর চলতি সেশনটা নিজে থেকেই ফিরে আসে, এমনকি তুমি শুধু ট্যাবটা বন্ধ করে দিলেও। |
19 | | -- **21টি ভাষায় ইন্টারফেস।** ভাষা ব্রাউজার দেখে ঠিক হয়, আর ওপরের প্যানেল থেকে বদলানো যায়। |
| 13 | +- **গাইডলাইন।** ছবির উপর রেখা, বৃত্ত এবং মসৃণ কার্ভ আঁকো - ত্রিভুজগুলো সেগুলো বরাবর সাজে। এটা এককালীন কোনো কাজ নয়, বরং মডিফায়ার: যেকোনো সময় সেগুলো সরানো যায়, বিস্তারিততা বদলানো যায়, গ্রুপ করা যায়। |
| 14 | +- **জাল যা খুঁটিনাটির সাথে মানিয়ে নেয়।** যেখানে বেশি খুঁটিনাটি ও তীক্ষ্ণ সীমারেখা আছে, সেখানে ত্রিভুজ ছোট; আকাশের মতো সমতল অংশে সেগুলো বড়। ফলে ছবি যেখানে দরকার সেখানে বিস্তারিত, আর বাকি জায়গায় শান্ত থাকে। |
| 15 | +- **স্বয়ংক্রিয় রূপরেখা।** একদম শূন্য থেকে শুরু না করার জন্য "রূপরেখা আঁকো" বাটনে চাপো: এডিটর ছবির প্রান্তগুলো খুঁজে সেগুলোকে একটি আলাদা গ্রুপে সংগৃহীত, সম্পাদনাযোগ্য মডিফায়ারে রূপান্তরিত করবে। |
| 16 | +- **ত্রিভুজের রং।** প্রতিটি ত্রিভুজ তার নিচের পিক্সেলগুলোর গড় রং দিয়ে ভরাট হয় - অথবা প্রয়োজনে উজ্জ্বল ব্যতিক্রমগুলোকে কমাতে মিডিয়ান রং দিয়ে। |
| 17 | +- **এক্সপোর্ট।** ভেক্টর (SVG, PDF) অথবা র্যাস্টার (PNG, JPG, WebP), সর্বোচ্চ 4096 পিক্সেল পর্যন্ত। |
| 18 | +- **প্রজেক্ট।** কাজ একটি `.json` ফাইলে সংরক্ষণ করে পরে ফিরে আসতে পারো। বর্তমান সেশন নিজে থেকেও পুনরুদ্ধার হয় - এমনকি শুধু ট্যাব বন্ধ করলেও। |
| 19 | +- **21টি ভাষায় ইন্টারফেস।** ব্রাউজার অনুযায়ী ভাষা নির্ধারিত হয়, উপরের প্যানেল থেকে পরিবর্তন করা যায়। |
20 | 20 |
|
21 | | -## ভেতরের কথা |
| 21 | +## ভেতরের প্রক্রিয়া |
22 | 22 |
|
23 | | -কৌতূহলীদের জন্য: বিন্দুগুলো বসানো হয় Poisson ডিস্ক স্যাম্পলিং (Bridson অ্যালগরিদম) দিয়ে, যেখানে ব্যাসার্ধ পাল্টায় - সেটা ঠিক করে Sobel-এর কিনারা-ম্যাপ, তাই রূপরেখা বরাবর জাল ঘন হয়। জেনারেশন ডিটারমিনিস্টিক: একই seed সবসময় একই জাল দেয়। |
24 | | -পুরো ভারী জ্যামিতিক পাইপলাইন - কিনারা-ম্যাপ, বিন্দু বসানো আর নিজে ত্রিভুজীকরণ - Rust-এ লেখা একটা WASM মডিউলে বাঁধা। ত্রিভুজের রং আলাদাভাবে, একটা Web Worker-এ গোনা হয়। |
| 23 | +পয়েসন-ডিস্ক স্যাম্পলিং (Bridson অ্যালগরিদম) ব্যবহার করে পরিবর্তনশীল ব্যাসার্ধ সহ পয়েন্টগুলো বসানো হয় - এই ব্যাসার্ধ নির্ধারণ করে একটি Sobel প্রান্ত মানচিত্র, তাই রূপরেখা বরাবর জাল ঘনতর হয়। জেনারেশন নির্ণায়ক (deterministic): একই সিড সবসময় একই জাল তৈরি করে। সম্পূর্ণ ভারী জ্যামিতিক পাইপলাইন - প্রান্ত মানচিত্র, পয়েন্ট বসানো, ট্রায়াঙ্গুলেশন - Rust-এ লেখা একটি WASM মডিউলে সংকলিত; ত্রিভুজের রং আলাদাভাবে, একটি Web Worker-এ গণনা করা হয়। |
| 24 | + |
| 25 | +সোর্স কোড পড়া শুরু করতে চাইলে, [আর্কিটেকচার ওভারভিউ](onboarding.bn.md) দিয়ে শুরু করো। |
25 | 26 |
|
26 | 27 | ## ডেভেলপমেন্ট |
27 | 28 |
|
28 | 29 | ```sh |
29 | 30 | npm install |
30 | | -npm run dev # ডেভেলপমেন্ট সার্ভার http://localhost:3000-এ |
| 31 | +npm run dev # http://localhost:3000 ঠিকানায় ডেভেলপমেন্ট সার্ভার |
31 | 32 | npm run build # dist/bundle.js তৈরি করে |
32 | 33 | ``` |
33 | 34 |
|
|
0 commit comments