8个版本
新 0.1.7 | 2024年8月12日 |
---|---|
0.1.6 | 2024年7月29日 |
#49 在 可视化
746 每月下载量
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);
},
};
}
输出
依赖关系
~4.5–6MB
~105K SLoC