#weight #balance #calculations #moment #representation #graphical

airplane

一个易于飞机相关计算和可视化的库,包括重量和平衡评估以及图形表示。一个用于简化飞机相关计算和可视化的Rust库,包括重量和平衡评估以及图形表示

8个版本

0.1.7 2024年8月12日
0.1.6 2024年7月29日

#49可视化

Download history 67/week @ 2024-07-19 525/week @ 2024-07-26 45/week @ 2024-08-02 109/week @ 2024-08-09

746 每月下载量

MIT 协议

35KB
786

飞机库

这个Rust库旨在轻松且准确地执行飞机相关计算,专注于重量和平衡,以及可视化。库提供了计算重心、力臂和重量分布的函数。此外,它还包括可视化重量和平衡包络和其他关键指标的工具,使其成为飞行员、工程师和航空爱好者的综合工具。凭借简单直观的API,此库简化了复杂的航空计算和可视化。

示例

use std::fs;

use airplane::{visualizer::WeightBalanceVisualization, weight_and_balance::{
    Airplane, CenterOfGravity, LeverArm, Limits, Mass, Moment, Volume,
}};

fn main() {
    let plane = Airplane::new(
        String::from("PHXXX"),
        vec![
            Moment::new(LeverArm::Meter(0.4294), Mass::Kilo(517.0)),
            Moment::new(LeverArm::Meter(0.515), Mass::Kilo(80.0)),
            Moment::new(LeverArm::Meter(0.515), Mass::Kilo(89.0)),
            Moment::new(LeverArm::Meter(1.3), Mass::Kilo(5.0)),
            Moment::new(LeverArm::Meter(0.325), Mass::Avgas(Volume::Liter(55.0))),
        ],
        Limits::new(
            Mass::Kilo(558.0),
            Mass::Kilo(750.0),
            CenterOfGravity::Millimeter(427.0),
            CenterOfGravity::Millimeter(523.0),
        ),
    );

    match airplane::visualizer::weight_and_balance(plane, WeightBalanceVisualization::new((1000,1000),(230.0..420.0, 550.0..760.0))) {
        airplane::visualizer::Visualization::Svg(svg) =>  {
            let _ = fs::write("image.svg", svg);
        },
    };
}

输出

image

依赖关系

~4.5–6MB
~105K SLoC