Если вам нужен график, который больше похож на круг, рассмотрите возможность построения графика на конечной плоскости (которую вы описываете) вместо x
и y
. Если вы преобразуете свои результаты, чтобы использовать координаты, такие как проекция изометрии c:
x' = x - (y + z)/2
y' = y - (x + z)/2
z' = z - (x + y)/2
, например:
z'
|
|
/ \
/ \
x' y'
, то преобразуйте это в 2d версию, которая вас устраивает.
x'' = sqrt(3) * (y' - x')/2
y'' = z' - (x' + y')/2
Если вы хотите понять, как это было достигнуто, просто подумайте о том, чтобы смотреть прямо вниз с вектора (k, k, k) на источник из бесконечно большого расстояния, причем «вверх» направлено в сторону z
ось. Вы увидите, что (1,0,0), (0,1,0) и (0,0,1) образуют равносторонний треугольник, и простая геометрия может дать вам координаты. Вы можете даже пропустить первые xyz -> xyz'
шаги, которые должны были попытаться сделать его более понятным, но могли бы сделать его более запутанным.
Вы также можете искать «isometri c projection», или взгляните на этот график:
и этот онлайн калькулятор:
https://planetcalc.com/8316/