24小时热门版块排行榜    

查看: 1094  |  回复: 1

asihuang

新虫 (小有名气)

[求助] 这个求一个面法向量的简单程序出了什么问题,高手指点下 已有1人参与

想写个小程序,求认识3点所确定的平面法向量,总是出错,有没有高手指点下?谢谢。

#include <iostream>
using namespace std;

class point{
public:
         double x,y,z;
};

class crproduct:point {
public:
    double x1,x2,x3,y1,y2,y3,z1,z2,z3,Ax,Ay,Az,Bx,By,Bz;
    point crproduc(point *a,point *b,point *c) {
    //point a
        x1=(*a).x;
    y1=(*a).y;
    z1=(*a).z;
    //point b
        x2=(*b).x;
    y2=(*b).y;
    z2=(*b).z;
    //point c
        x3=(*c).x;
    y3=(*c).y;
    z3=(*c).z;
        //Vector A
    Ax=x1-x2;
    Ay=y1-y2;
    Az=z1-z2;
        //vector B
    Bx=x2-x3;
    By=y2-y3;
    Bz=z2-z3;
        //cross product
    point vector;
    vector.x = (Ay*Bz)-(By*Az);
    vector.y = -(Ax*Bz)+(Bx*Az);
    vector.z = (Ax*By)-(Ay*Bx);
     return vector;
    }
};



int main ()
{
   point  *pp,*p1,*p2;
   point cd;
   crproduct cr1,cr2,cr3,cr4;
  (*pp).x=12;
  (*pp).y=13;
  (*pp).z=15

  (*p1).x=10;
  (*p1).y=10;
  (*p1).z=10;
  
  (*p2).x=8;
  (*p2).y=5;
  (*p2).z=2;

  cd=cr1.crproduc(pp,p1,p2);
  cout<<cd.x<<" "<<cd.y<<" "<<cd.z<<endl;
  system("pause";
  return 0;
}
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

rbs

木虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
主函数第一句,不要定义指针,定义point类型本身。
2楼2014-04-02 10:20:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 asihuang 的主题更新
信息提示
请填处理意见