读书人

平面和平面的交线算法?该怎么处理

发布时间: 2012-06-02 14:16:14 作者: rapoo

平面和平面的交线算法?
平面和平面的交线算法?

我知道平面方程
a1x+b1y+c1z+d1=0;
a2x+b2y+c2z+d2=0;

连立得:
(a1-a2)x+(b1-b2)y+(c1-c2)z+(d1-d2)=0;

现在需要返回一个直线,即两个点~

C# code
  public Line3D CrossPlane(Plane3D p) //求平面与平面的交线        {            Line3D CrossLine = new Line3D();            float tempA = (p.d - d) - (norm.x - p.norm.x);            float tempB = (p.d - d) - (norm.y - p.norm.y);            float tempC = norm.z - p.norm.z;            if (tempC != 0)            {                CrossLine.ptBegin.x = 1;                CrossLine.ptBegin.y = 0;                CrossLine.ptBegin.z = tempA /tempC;                CrossLine.ptEnd.x = 0;                CrossLine.ptEnd.y = 1;                CrossLine.ptEnd.z = tempB / tempC;                return CrossLine;            }            else            {                return null;            }                    }


感觉有问题,我定了2个点,就定跟直线,

如何返回他们的交线?
谢谢!

[解决办法]
随便确定两组(x,y)、(x,y),算出z,不就得到两个(x,y,z)、(x,y,z)了吗,这不就可以确定直线了吗?

读书人网 >C#

热点推荐