D - это перпендикулярное расстояние, которое вам нужно было бы перемещать по нормали плоскости, чтобы пройти через начало какого-либо пространства, в котором находится плоскость (я ожидаю, что это чаще всего будет происходить в мировых координатах, но если ваш плоскости описываются в координатах камеры, а затем используют происхождение камеры. В конечном счете это не имеет значения, если вы делаете все вычисления в одном и том же пространстве. Другими словами, какое бы происхождение вы не использовали для пространства, в котором и сфера, и плоскости сравниваются.).
Это то же значение в уравнении плоскости: Ax + By + Cz + d = 0. d - это значение D, которое вы использовали бы. Вы можете рассчитать d, взяв известную точку на плоскости и используя ее для решения уравнения плоскости для d. (A, B, C) являются элементами X, Y, Z единичного нормального вектора плоскости, (x, y, z) являются координатами точки на плоскости, решают уравнение плоскости для d, и у вас есть расстояние.
Просто будьте внимательны, чтобы делать все ваши вычисления в одном и том же пространстве ,,, будь то пространство в мире или место на камере или пространство на экране. Я подозреваю, что вы захотите сделать свои расчеты в мировом пространстве.
Также обратите внимание, что «DotProduct (C, N) + D» по существу то же самое, что применение уравнения плоскости (Ax + By + Cz + d) к центру вашей сферы, результат 0 означает центр сфера лежит точно на плоскости. – YoungJohn
Итак, если бы он был определен в мировых координатах, а усечка была в начале координат, то происхождение, которое проходило нормальное, составляло 0,0,0? – sgtHale
Да, я считаю, что это будет происхождение, которое вы хотите. – YoungJohn