Próbuję narysować linię, która zaczyna się cienką linią, a następnie rozszerza się do końca. Muszę narysować pół-gładkie krzywe (kompozyt z kilku prostych linii) i mam problemy ze znalezieniem sposobu rozwiązania tego zadania.Rysowanie linii o ciągle zmieniającej się szerokości linii na kanwie HTML
Ten skrzypce pokazuje mój problem:
Po wywołaniu udaru(), aktualnie ustawiony linewidth służy do udaru całej linii. Moją pierwszą myślą było narysowanie każdej linii osobno, ale oczywiście pozostawia zauważalne luki w linii w rogach.
Jaka jest moja najlepsza opcja? Czy powinienem uciekać się do rysowania wielokątów (trapezów), aby uzyskać rogi w prawo?
Czy jest łatwiejszy sposób?
(Edit: Zauważ, że ja nie próbuję faktycznie rysowania elips lub innych podstawowych kształtów; Próbuję wykreślić funkcje matematyczne, używając grubość linii do reprezentowania prędkość)
Najlepszym rozwiązaniem jest zapewne będzie za pomocą 'bezierCurveTo' lub' 'fill' quadraticCurveTo' i zamiast' stroke', to skomplikuje matematykę, ale jest to prawdopodobnie jedyny sposób uzyskania pożądanego rezultatu. Udało mi się osiągnąć podobny, ale inny efekt, rysując wiele elips i przesuwając/pomniejszając je na każdym kroku: http://jsfiddle.net/Shmiddty/ZvuQG/3/ – Shmiddty