Рафаэль JS 3D эффект падающей тени

Я пытаюсь сделать довольно сложный график пончиков Raphael JS.

У меня есть несколько проблем, одна из которых - это 3D-эффект, который я планирую решить, добавив 7 теней (свечение) или дубликаты пончиков после друг друга, чтобы смоделировать толщину фигуры в 7px.

Как я мог сделать это наилучшим образом? Заранее спасибо...

2 ответа

Решение

Семь теней не кажутся лучшим способом сделать это, потому что это вычислительно дорого, потому что это не будет выглядеть красиво, и потому что, как правило, следует избегать мышления в терминах пикселей при работе с векторной графикой.

Если вы хотите нарисовать сегмент цилиндра - нарисуйте его. Включая стороны. Даже со сплошным цветом это создаст разумную иллюзию 3d, и вы можете сделать его более привлекательным, используя градиенты для имитации освещения. Вы должны будете отслеживать, какие грани на самом деле видны, но это касается практически любого подхода к 3D, включая тени.

@KennethB Может быть, эти плагины могут помочь вам: https://github.com/bkuzmic/raphael-charts-plugin и https://github.com/PuffyCoffee/3D-Pie-chart. Скачайте эти плагины и изучите код, эти плагины имеют лицензию MIT и используют Raphael.

Другие вопросы по тегам