Удаление невидимых частей трехмерной сцены с помощью BSP-деревьевBSP-дерево (Двоичное разбиение пространства)[en]ps В русской Wiki примеры походу одинэснег писал
Процедура ОбойтиУзел(Узел)
Если Узел <> ПустойУказатель
Если ВекторыСонаправлены(ВекторНаблюдения, Узел.НормальРазбивающейПлоскости)
Если СкалярноеПроизведение(ТочкаНаблюдения, Узел.НормальРазбивающейПлоскости) >= 0
// Плоскость находится сзади наблюдателя, наблюдатель видит только фронтальное поддерево
ОбойтиУзел(Узел.ФронтальноеПоддерево);
Иначе
// Плоскость находится спереди наблюдателя,
// фронтальное поддерево находится дальше оборотного
ОбойтиУзел(Узел.ФронтальноеПоддерево);
ДобавитьПолигонВСписокОтображения(Узел.Полигон);
ОбойтиУзел(Узел.ОборотноеПоддерево);
КонецЕсли;
Иначе
Если СкалярноеПроизведение(ТочкаНаблюдения, Узел.НормальРазбивающейПлоскости) >= 0
// Плоскость находится спереди наблюдателя,
// оборотное поддерево находится дальше фронтального
ОбойтиУзел(Узел.ОборотноеПоддерево);
ДобавитьПолигонВСписокОтображения(Узел.Полигон);
ОбойтиУзел(Узел.ФронтальноеПоддерево);
Иначе
// Плоскость находится сзади наблюдателя, наблюдатель видит только оборотное поддерево
ОбойтиУзел(Узел.ОборотноеПоддерево);
КонецЕсли;
КонецЕсли;
КонецЕсли;
Конец;