给定两个向量 A B ,它们形成线段 L = A-B。
此外,给出了一个视锥 F View ,该 View 由其左,右,底,顶,近和远平面定义。

如何针对 F 裁剪 L

也就是说,测试一个相交点,以及该相交点在L上的哪个位置发生?
(请记住,如果一个线段在一个角的两侧相交,则其的会比与截头圆锥体的一个交点多。)

如果可能,请提供代码示例(首选C++或Python)。

最佳答案

我现在不想为此编写代码,但是如果我正确地理解了“平截头体”,则应该可以进行以下工作。

  • 与所有给定平面的直线相交
  • 如果您有两个交叉点,那么就完成了。
  • 如果只有一个相交,请计算前平面并相交。
  • 如果仍然只有一个相交,请计算背板并相交。

  • 但是我可能完全被误解了。在这种情况下,请详细说明:)

    关于math - 如何将线段修剪到平截头体上?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/77836/

    10-12 22:22