Używam D3.js do rysowania niektórych SVG <path>
s w linii prostej. Wszystkie te elementy są zawarte w <g>
z tą samą transformacją pionową.Bend SVG `<g>` wokół Curve
Chciałbym "wrap" te elementy wokół okrągłego łuku. Na końcu każdy prostokąt powinien stać się małym segmentem łuku, a pionowe linie będą wskazywać na środek okręgu.
Zdaję sobie sprawę, że prawdopodobnie mógłbym zrobić to od początku w łuku: na przykład rysując grube kółka, od końca do końca, zamiast prostokąta. To jednak brzmi jak dużo matematyki i obliczeń, szczególnie dla kogoś nowego w SVG.
Czy istnieje sposób na przekształcenie tych elementów na krzywą po hoc, co oznacza, że mogę użyć kodu, który mam, który rysuje te prostokąty - może zmieniając atrybut transform
? Jeśli istnieje zewnętrzna biblioteka SVG (chociaż wyglądałem bez powodzenia), rozważałbym również użycie tej.
Do tego służy polecenie rysowania łukiem. To nie jest takie skomplikowane: https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths –