Cześć.
Moje pytanie może Wam się wydać głupie, albo bezsensowne, ale mam tak, że lubię coś czasem zrobić w 100% we własnym zakresie, a pomyślałem, że tutaj najłatwiej uzyskam pomoc.
Chodzi mi po głowie prosta maszynka, powiedzmy że do grawerowania 2D. Generalnie chodzi o wyżłobienie obrysów kształtu, który mam w bitmapie. Bitmapa jest monochromatyczna, grawerowane miałyby być krawędzie czarnych kształtów.
Mechaniką się nie chcę tutaj zajmować, bo jakoś ją wyskrobię. Sterowanie chciałem zrobić jak najprościej, czyli informacje o krokach X/Y przekazywane do Arduino, skąd byłyby sterowane silniki, ewentualnie proste informacje w stylu "prosta od (X,Y) do (X', Y')". W każdym razie jako że to początki, nie chcę GCODE, nie chcę robić interpretera, chcę zacząć od czegoś łatwiejszego. Poza tym nie chciałbym strzelać z armaty do komara. Nie chcę też korzystać z gotowych programów/rozwiązań, "bo nie"
Łatwym etapem było wykrycie krawędzi bitmapy (program masochistycznie piszę w C#). Teraz mam taki problem - jak najłatwiej zwektoryzować daną bitmapę? Chodzi mi o to, że jeżeli ustalę tolerancję na X pikseli, chciałbym móc wykryć, że w tej tolerancji można wyrysować po krawędzi kształtu prostą A do punktu B.
Podejściem "hardkorowym" byłoby sterowanie po pikselu, ale zakładając, że maszyna miałaby minimalnie większą dokładność, niż bitmapa, w praktyce "proste" na grawerze wykazywałyby "pikselozę" (patrz zdjęcie w wiki). Macie jakieś pomysły, jak zacząć?
(mam nadzieję, że opisałem problem z sensem - wypiłem dopiero jedną kawę, więc jeśli coś jest niejasne, nie bijcie )
Wektoryzacja bitmapy? (własny program sterujący)
-
- Lider FORUM (min. 2000)
- Posty w temacie: 1
- Posty: 2173
- Rejestracja: 29 lip 2005, 15:07
- Lokalizacja: Warszawa
- Kontakt:
Jednym z ciekawszych algorytmów jest Potrace. Teoria wyjaśniona jest tu: http://potrace.sourceforge.net/potrace.pdf
A na potrace.sourceforge.net masz źródła i support.
Miłej zabawy
A na potrace.sourceforge.net masz źródła i support.
Miłej zabawy
Maszyny i oprogramowanie CNC: eduCAD, STEP2CNC, LynxCUT, Styro3D, Tapper, cncCAD, Image2CAM, Turn3D, TERMCUT, LynxNEST (Nesting)