gpt4 book ai didi

algorithm - 粒子弹离球形边界 3D

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:51:07 24 4
gpt4 key购买 nike

这很奇怪,但我找不到任何清晰的算法来在 3D 空间中弹离球面边界。

例如,我有一个在空心球内具有任意速度的粒子。这个粒子没有任何形状/主体,只有一个点坐标。

initial set

更有可能的是当粒子撞击边缘时必须找到一个平面[距球体原点的距离大于球体半径]并计算从该平面的反射角。

plane

但是,也许还有其他方法?

最佳答案

扩展我的评论:

P为粒子位置,V为粒子速度,令C为圆心。

然后:

  1. 计算切面法线:N = (C-P)/|C-P|
  2. 计算速度的法向分量:Vn = N·V
  3. 确保它指向内部:if (Vn < 0) then V+=2*Vn*N

您可以重新排列以去掉平方根:

  1. N = C-P
  2. Vn = N·V
  3. 如果 (Vn<0) 那么 V+=2*Vn*N/|N|²

关于algorithm - 粒子弹离球形边界 3D,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51310804/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com