Не совсем уверен, должно ли это относиться к переполнению стека, но здесь идет.
Я создаю простую версию крестики-нолики в 3D с использованием объекта HTML5 <canvas>
. Первый игрок использует символ креста, тогда как второй игрок использует символ круга. Дело в том, что я не уверен, как поставить круглые формы в перспективу.
В настоящее время я использую метод создания правильного многоугольника с максимально возможным количеством углов (до некоторой степени), чтобы имитировать круг, рисуя прямые линии между этими точками. Координаты этих точек (углы) я рассчитал, используя синус / косинус.
Использование 6 углов:
Использование 50 углов (выглядит как круг достаточно хорошо):
Это хорошо работает, но для подделки круга требуется немало очков. Более того, если бы я создал мяч, у меня было бы больше проблем. Например, картина в Википедии показывает, что даже с большим количеством точек она все равно будет иметь довольно «блочную» поверхность: http://en.wikipedia.org/wiki/File:Sphere_wireframe.svg
Мне было интересно, есть ли способ сделать круг в перспективе более эффективным, возможно, без точек, чтобы можно было более реалистично создавать реалистично выглядящие круглые формы.
Заранее спасибо за любые предложения.