关于小球碰撞的c++程序

shuilandian 2008-12-03 08:30:32
知道原理 也查了一些关于这类的程序原理 无奈真的是才学的 不知道怎么入手 我不需要实现画面运动 只求输入小球的速度和方向后 可以得到碰后的速度和方向 是刚性球的碰撞 不考虑能量损失 那么 我需要怎样开始呢 要不要把变量放在类里啊
...全文
680 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
shuilandian 2008-12-05
  • 打赏
  • 举报
回复
郁闷 谁指点一下啊
shuilandian 2008-12-05
  • 打赏
  • 举报
回复
谁帮我看看啊
shuilandian 2008-12-05
  • 打赏
  • 举报
回复
天哪 我的帖子居然发成功了 !!!
郁闷 让我这几天一个人想了那么久 呵呵 谢谢楼上的哈 我自己编了
虽然编的很不好 但毕竟是我自己的想法

我把碰撞分成了直线碰撞和斜碰撞,如果我希望在斜碰撞中输出碰后的速度和角度 该怎么写??
下面是我运行结果错误的地方
void state::print()
{
cout<<"请输入斜碰撞1的速度和相对圆心连线的角度"<<endl;
cin>>v1>>p1;
cout<<"请输入斜碰撞2的速度和相对圆心连线角度"<<endl;
cin>>v2>>p2;
q1=cos(p1*pi/2);//PI:3.14
q2=sin(p1*pi/2);
q3=cos(p2*pi/2);
q4=sin(p2*pi/2);
v3=sqrt(q1*q1*v1*v1+q4*q4*v2*v2);
v4=sqrt(q2*q2*v1*v1+q3*q3*v2*v2);
q5=atan((v1*q2)/(v2/q3));
q6=atan((v2*q4)/(v1/q1));
cout<<"碰撞后1的速度为"<<v3<<"相对圆心连线的角度为\n\n\n"<<q5<<endl;
cout<<"碰撞后2的速度为"<<v4<<"相对圆心连线的角度为\n\n\n"<<q6<<endl;
}

xbc1987 2008-12-04
  • 打赏
  • 举报
回复
假设两小球质量相同


class 速度{
public :
int 速率 ; // 大于等于0
int 方向 ; //0~360
速度(int ,int) ;
};

class 碰撞{
public :
碰撞();
~碰撞();
碰撞(速度,速度);
void set速度1(速率,方向);
void set速度2(速率,方向);
void run(){
矢量运算;
碰撞后速度1;
碰撞后速度2;
}
速度 get碰撞后速度1() const;
速度 get碰撞后速度2() const;
private:
速度 old速度1,old速度2,new速度1,new速度2;
};
codejian 2008-12-03
  • 打赏
  • 举报
回复
物理很烂,期待代码
霍大脚 2008-12-03
  • 打赏
  • 举报
回复
一个动量守恒就搞定了啊

64,671

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧