首页 / 知识
关于数学:如何将视线截断在视锥上?
2023-04-16 06:21:00

How do I clip a line segment against a frustum?
给定两个向量A和B,它们形成线段L = A-B。 如何将L夹在F上?
也就是说,测试一个交集,以及该交集出现在L的哪个位置? 如果可能,请提供代码示例(首选C ++或Python)。 我现在不想为此编写代码,但是如果我正确理解"平截头体",则应该可以进行以下工作。 但是我可能完全被误解了。在这种情况下,请详细说明:) 首先从视图矩阵中提取平面。
然后使用您的点将向量和最小值/最大值定义为(0,1),然后在平面上迭代并将它们与线段相交,更新最小值/最大值,如果 这是一个纯Python函数的示例,没有外部dep。
除了上面所说的Cor??poral Touchy所说的,您还需要知道如何使线段与平面相交。在该页面的描述中,u表示行的参数定义中的参数。首先,使用上述2种方法之一计算u。如果u的值落在0.0到1.0的范围内,则平面会将线夹到线段上的某处。将u重新插入到线方程中,可以得出发生交叉的点。 另一种方法是找到每个点到平面的定向距离。如果一个点的距离为正,而另一个点的距离为负,则它们位于平面的相对侧。然后,您会知道哪个点位于您的视锥之外(基于您的平面法线点的方向)。使用这种方法,可以根据有向距离的比率进行线性插值,从而更快地找到交点。例如。如果一个点的距离是+12,另一个点的距离是-12,则您知道平面将线段切成两半,并且u参数是0.5。 希望这可以帮助。 |
最新内容
相关内容
linux内置命令位置?
linux内置命令位置?,工作,系统,信息,地址,位置,标准,命令,目录,密码,名字,Linux系统常用操作命令有哪些1、linux常用命令: pwd命令 该命令的linux命令防火墙位置?
linux命令防火墙位置?,系统,服务,软件,密码,状态,位置,防火墙,工具,公共,设备,LINUX系统怎么关闭防火墙1、打开linux系统,在linux的桌面的空白linux光标位置命令?
linux光标位置命令?,位置,光标,时间,系统,状态,终端,命令,程序,文件,菜单,linux下编辑文件时如何定位光标到文件末尾1、首先登录到Linux系统。linux命令文件换位置?
linux命令文件换位置?,位置,财务,系统,公司,名称,目录,文件,命令,一致,工作,linux怎么将一个文件移动到另一个目录下1、如果目标文件是到某一linux命令参数位置?
linux命令参数位置?,工作,系统,命令,信息,标准,状态,位置,地址,文件,简介,linux系统常用操作命令linux常用命令有pwd命令、cd命令、ls命令、calinuxsu命令位置?
linuxsu命令位置?,系统,地址,环境,管理,位置,工作,命令,密码,信息,用户,linux切换用户命令1、打开系统中的终端命令框。使用whoami命令查看当python如何读取列表中元素的位置?
python如何读取列表中元素的位置?,位置,数据,异常,培训,字符串,元素,索引,方法,示例,结果,python读取列表中元素位置的方法:1、使用index()方怎么查看python模块在什么位置
怎么查看python模块在什么位置,位置,代码,培训,模块,路径,下面,以上,文件,方法,更多,查看python模块在什么位置的方法:若要获取模块的文件名为怎么找到苹果电脑 python安装位置
怎么找到苹果电脑 python安装位置,系统,位置,培训,版本,苹果电脑,终端,路径,命令,里面,以上,Mac系统自带python路径为:/System/Library/Framepython注释一般放在什么位置
python注释一般放在什么位置,代码,位置,培训,注释,时间,引号,可能会,不可或缺,变量,语句,python写代码注释是一件很重要的事情,如果你写的一段python如何理解Python中整型对象存
python如何理解Python中整型对象存储的位置?,位置,地址,代码,培训,内存,开辟,对象,整数,分配,存在,在Python整型对象所存储的位置是不同的,有python位置参数是什么
python位置参数是什么,位置,电脑,培训,环境,系统,参数,函数,字符串,例子,数量,python位置参数是什么本文教程操作环境:windows7系统、Python3.