Dandelion 1.1.1
A light-weight 3D builder for educational usage
载入中...
搜索中...
未找到
kinetic_state.h
浏览该文件的文档.
1#ifndef DANDELION_UTILS_KINETIC_STATE_H
2#define DANDELION_UTILS_KINETIC_STATE_H
3
4#include <Eigen/Core>
5
6/*!
7 * \file utils/kinetic_state.h
8 * \ingroup utils
9 */
10
11/*!
12 * \ingroup simulation
13 * \~chinese
14 * \brief 物理模拟过程使用的固定时间步。
15 *
16 * 这个时间步独立于渲染的帧时长,物理模拟总是以每一步经过 `time_step`
17 * 秒的方式进行。时间步长的默认值为 \f$1/30\f$ 秒。
18 */
19extern float time_step;
20
21/*!
22 * \ingroup simulation
23 * \~chinese
24 * \brief 表示物体的质点运动学状态。
25 *
26 * 在物理模拟模式下选择重置场景时,会将场景中所有物体恢复到动画开始前的状态,
27 * 此结构体可以用于备份这一状态,在重置时重新赋值给物体。另外,
28 * 它还可以用于给运动求解器传递参数。
29 */
30struct KineticState
31{
32 KineticState() = default;
33 KineticState(const Eigen::Vector3f& position, const Eigen::Vector3f& velocity,
34 const Eigen::Vector3f& acceleration);
35 Eigen::Vector3f position;
36 Eigen::Vector3f velocity;
37 Eigen::Vector3f acceleration;
38};
39
40#endif // DANDELION_UTILS_KINETIC_STATE_H
float time_step
物理模拟过程使用的固定时间步。
定义 kinetic_state.cpp:5