| 本帖最后由 panhao1 于 2011-2-24 17:07 编辑 犀牛中平面用4个参数来表示:(a,b,c,d) 平面上所有的点(x,y)满足A x + B y + C z + D = 0 而一条线可以用线上的两点表示P1(x1,y1,z1),P2 (x2,y2,z2) 如果两点相交的话
 
P = P1 + u (P2 - P1) A (x1 + u (x2 - x1)) + B (y1 + u (y2 - y1)) + C (z1 + u (z2 - z1)) + D = 0 U的值如果为0到1  则交点在P1和P2之间 如果分母为0那么线就和平面平行或在平面上 我们来看opennurbs.dll里的线和面 线的属性 form 和 to 平面的属性 x,y,z,d
 相切会怎样呢 Returns FALSE unless intersection is a single point If returned parameter is < 0 or > 1, then the line segment between line.m_point[0] and line.m_point[1] does not intersect the plane 
C#
public bool ON_Intersect (ref IOnLine line , ref IOnPlane plane , double % t );
Visual Basic
Public Function ON_Intersect (ByRef line As IOnLine,ByRef plane As IOnPlane ,t As double %) As  bool
 | Parameters | Description |  | double% t | [out]parameter on line | 
 
是不是完全相同呢?
 |