Я в своё время тоже искал информацию на эту тему. Стандартной функции в MAXscript я не нашёл, поэтому написал свою.
функция проверяет пересечение треугольника с линией. В цикле подкидываем в неё треугольники и edge.
Спасибо! Но я нашел, по моему, лучший способ:
Функция, которая делает пересечение объектов
fn intersect sourseObj interObj =
(
inter = (copy sourseObj) * interObj
interData = GetTriMeshFaceCount inter
delete inter
)
где sourseObj - объект который проверяем interObj - объект который пересекает inter - сюда ми записываем результат пересечения(новый объект) interData - сюда записываем данные пересечения
А потом в самой программе делаем, например, вот такую проверку:
if interData[2] > 0 then print "1" else print "0"
Тоесть проверяем количество вершин, которые создались после пересечения объектов.
Попробуй, может эта функция тебе больше понравиться.
Удачи!!!
Доступ к резюме доступен только по пакетному доступу HR менеджерам зарегистрированных компаний. Узнать о вариантах корпоративных пакетов можно по ссылке.
-VZ-
Заранее благодарю!
Максим Смирнов
функция проверяет пересечение треугольника с линией. В цикле подкидываем в неё треугольники и edge.
v1,v2,v3 - координаты вершин треугольника
norm - нормаль треугольника
p1,p2 - координаты точек линии
может поможет
-VZ-
Функция, которая делает пересечение объектов
где sourseObj - объект который проверяем
interObj - объект который пересекает
inter - сюда ми записываем результат пересечения(новый объект)
interData - сюда записываем данные пересечения
А потом в самой программе делаем, например, вот такую проверку:
Тоесть проверяем количество вершин, которые создались после пересечения объектов.
Попробуй, может эта функция тебе больше понравиться.
Удачи!!!
Максим Смирнов