pub struct PendulumScenario { /* private fields */ }Expand description
Simple pendulum scenario.
Implementations§
Source§impl PendulumScenario
impl PendulumScenario
Sourcepub fn new(config: PendulumConfig) -> Self
pub fn new(config: PendulumConfig) -> Self
Create a new pendulum scenario.
Sourcepub fn init_state(&self) -> SimState
pub fn init_state(&self) -> SimState
Initialize simulation state for the pendulum.
The pendulum is modeled as a particle constrained to move on a circle. State is represented in Cartesian coordinates (x, y) where:
- Origin is at pivot point
- y-axis points downward
- Angle is measured from vertical (y-axis)
Sourcepub fn create_force_field(&self) -> PendulumForceField
pub fn create_force_field(&self) -> PendulumForceField
Create force field for pendulum (gravity + tension constraint).
Sourcepub fn theoretical_period(&self) -> f64
pub fn theoretical_period(&self) -> f64
Get theoretical period (small angle approximation).
Sourcepub const fn config(&self) -> &PendulumConfig
pub const fn config(&self) -> &PendulumConfig
Get configuration.
Sourcepub fn current_angle(state: &SimState) -> f64
pub fn current_angle(state: &SimState) -> f64
Calculate current angle from state.
Sourcepub fn current_angular_velocity(state: &SimState, length: f64) -> f64
pub fn current_angular_velocity(state: &SimState, length: f64) -> f64
Calculate current angular velocity from state.
Trait Implementations§
Source§impl Clone for PendulumScenario
impl Clone for PendulumScenario
Source§fn clone(&self) -> PendulumScenario
fn clone(&self) -> PendulumScenario
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for PendulumScenario
impl RefUnwindSafe for PendulumScenario
impl Send for PendulumScenario
impl Sync for PendulumScenario
impl Unpin for PendulumScenario
impl UnsafeUnpin for PendulumScenario
impl UnwindSafe for PendulumScenario
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more