Я написал простой симулятор американских горок в Scratch с использованием 3d сплайнов катмулла для создания макета дорожки. Минимизирующие вращение кадры рассчитываются так, чтобы нормали поверхности плавно проходили по сплайну Путь камеры предварительно рассчитывается с помощью матрицы поворота для каждой позиции (с использованием единичных нормалей для направления движения, нормали поверхности дорожки и их перекрестного произведения. Все это отлично работает и может быть просмотрено здесь .
Я хотел бы добавить простой фон, где все, что выше горизонта, - синее для неба, а все, что ниже, - зеленое для земли, но я нахожусь в полном мысленном блоке о том, как рассчитать это. Я подозреваю, что должен рассмотреть горизонт как простую трехмерную плоскость с нормалью поверхности (0,1,0), повернуть ее с помощью матрицы обзора и затем создать видимые координаты горизонта из результата, но мне нужна помощь в том, как сделайте это.
Любые предложения будут приветствоваться!