直线与多项式交点计算


线段交点计算的部分内容可以参照直线交点计算,与之不同的部分是需要判断线段交点的参数是否在定义域内。

1.直线与多项式交点-代数方式

1.1 方程

n次多项式: X ( s ) = ∑ j = 0 n A j s j ⋯ ( 1 ) , s ∈ [ s m i n , s m a x ] X(s)=\sum_{j=0}^{n}A_js^j \cdots (1),s\in[s_{min},s_{max}] X(s)=j=0nAjsj(1),s[smin,smax],
直线: X ( t ) = P + t d ⃗ ⋯ ( 2 ) X(t) = P+t \vec{d}\cdots(2) X(t)=P+td 2

1.2 交点

采用KR算子(定义见直线交点文章),可以消去t项,得:
K R ( d ⃗ , X ( s ) ) = ∑ j = 0 n K R ( d ⃗ , A j ) s j = K R ( d ⃗ , P + t d ⃗ ) = K R ( d ⃗ , P ) KR(\vec{d},X(s))=\sum_{j=0}^{n}KR(\vec{d},A_j)s^j =KR(\vec{d},P+t\vec{d})=KR(\vec{d},P) KR(d ,X(s))=j=0nKR(d ,Ajsj=KR(d ,P+td )=KR(d ,P)
可得:
∑ j = 0 n K R ( d ⃗ , A j ) s j − K R ( d ⃗ , P ) = 0 \sum_{j=0}^{n}KR(\vec{d},A_j)s^j -KR(\vec{d},P)=0 j=0nKR(d ,AjsjKR(d ,P)=0
q ( s ) = ∑ j = 0 n c j s j , c 0 = K R ( d ⃗ , A 0 − P ) , c j = K R ( d ⃗ , A j ) ⋯ ( 3 ) q(s)=\sum_{j=0}^{n}c_js^j,c_0=KR(\vec{d},A_0-P),c_j=KR(\vec{d},A_j)\cdots(3) q(s)=j=0ncjsj,c0=KR(d ,A0P),cj=KR(d ,Aj)(3)
对(3)可以采用数值根求解的方法去求解,最后得到s,判断 s ∈ [ s m i n , s m a x ] s\in[s_{min},s_{max}] s[smin,smax],即可求得交点。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值