Как найти координаты точек круга?

Мне необходимо сделать шар из точек. Я знаю что, для того, что бы сделать просто круг из точек мне необходимо использовать синус и косинус, собственно https://jsfiddle.net/ouL2gkej/3/ вот здесь я так и сделал. А как нарисовать из точек шар, но при этом используя двухмерное пространство?
  • Вопрос задан
  • 2389 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Простой вариант, когда смотрят на шар на уровне экватора, в параллельной проекции.
Центр шара примем за точку отсчёта, ноль.
Два угла определяют положение точки на поверхности шара относительно его центра:
  • широта (latitude, север-юг) от -∏/2 (северный полюс) до ∏/2 (южный полюс);
  • долгота (longitude, запад-восток) от 0 до 2∏ (полный круг).


В прокции на плоскость (экран) точки шара попадут внутрь окружности радиуса R. Центр попадет в центр. Северный полюс – в верхнюю точку, южный – в нижнюю.

Высота зависит только от широты, тут всё просто: y = R * sin(lat)
Влево-вправо от центральной оси зависит от обоих углов. От широты зависит максимально возможное удаление от оси R * cos(lat). А ещё уменьшиться оно может в зависимости от долготы: надо домножить на cos(lng). Итого получается x = R * cos(lat) * cos(lng)



Кроме того посмотрите в коде, как правильно создавать элементы внутри SVG и задавать им атрибуты. А также значение viewBox чтобы (0, 0) была по центру.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Через уравнение сферы
Здесь через sin/cos.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы