【从头写CAD】第一章 计量单位 第一节 角度类


一、说明

CAD离不开角度数据,目前CAD开源项目多用double类型表示角度。我认为有必要独立出来,让三角函数仅出现该类内,方便管理。以下代码为初版,欢迎跟帖补充。
我使用的是win10 64位系统,vs_buildtools工具 2019版,rust版本 1.81.0。编辑器为Visual Studio Code 1.92.2版本。相关程序的安装需自行百度。


二、操作步骤

1、新建项目cad(cmd命令:cargo new cad);
2、进入对应目录(cmd命令:cd cad);
3、打开项目(cmd命令:code .);
命令行信息4、在项目目录 src子目录下新建目录unit;
5、unit下新建rust文件 mod.rs和angle.rs;
编辑器中显示内容


三、角度单位

1、角度的国际单位是弧度,这是衡量角度的标准度量单位。弧度的定义是基于半径的长度与对应的圆心角的比值,它是一个无量纲的数,我用64位实数(f64)保存该值。
2、角度的单位还可以用度(°)来表示。度是历史上非常流行的单位,日常生活和一些工程制图中‌仍在广泛使用。我用degree 和 set_degree函数换算弧度与度单位。
3、少量场合,角度用梯度(gradient)来表示,我用gradient和from函数换算弧度与梯度单位。

四、源代码

1、 mod.rs 内容

pub mod angle;

2、angle.rs 内容

/*
* 角度弧度的类rad
** 编制人: $ource
* 修改版次及创建时间:0版完成版(2024年8月14日)
* 修改内容及时间:(2024年9月8日)
* 待完善问题:文本格式与Angle互转未实现;未检查及调整rad到(-π,π)或(0,2π)范围。暂时不需要这些属性.
*/
const PI:f64=std::f64::consts::PI;
const RADIAN2DEGREE:f64 = 180f64 / PI;

use std::ops::{
   Add, Sub, Mul, Div};
//0°、30°、45°、60°、90°、180°角度常量
pub const ANGLE0:Angle=Angle{
   rad:0f64};
pub const ANGLE30:Angle=Angle{
   rad:PI/6f64};
pub const ANGLE60:Angle=Angle{
   rad:PI/3f64};
pub const ANGLE45:Angle=Angle{
   rad:PI/4f64};
pub const ANGLE90:Angle=Angle{
   rad:PI/2f64};
pub const ANGLE180:Angle=Angle{
   rad:PI};

#[derive(Debug,PartialEq,PartialOrd,Clone,Copy)]
pub struct Angle{
   
    pub rad:f64,//外部可以访问该变量
}

impl <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值