上期有初步讲过Lisp中关于四则运算的方式,今天再深入讲下四则运算,然后再讲一些其余的数学计算。 本期你会学到以下内容: - 四则运算
- 三角函数计算,圆周率的表示,求绝对值
- 四舍五入
1.四则运算 Lisp的特色在运算符放在前面,例如5+5它会写成(+ 5 5),其余如括号优先运算则和普通运算一致,例如(+ 5 (/ 100 2))=5+(100/2)=55。 再来看几个复杂一点的: 10/5+2+(1+3):(+ (+ (/ 10 5) 2) (+ 1 3))=8,先算10+5,然后再加2,然后再加(1+3) 100+10/5/2+1:(+ (+ 100 (/ (/ 5 5) 2) 1))=102 刚开始的时候学Lisp,可能第一个难点就是这个四则运算了,乍一看其实这个还挺难的,不过只要理解了,其实就不难了,我总结的一点就是从左向右看,每次运算加一个括号。 2.三角函数 CAD其实都是几何图形,那几何图形是离不开三角函数的,而Lisp是自带了三角函数计算的,下面是常用的几个: 圆周率的表示:直接用英文'pi'表示,很简单,Lisp中自带的三角函数都是用弧度表示而不是角度,这点要注意,我发现只有下列3个三角函数,其余都要靠用这3个函数来计算。 正弦函数:(cos pi)=-1 正切函数:(sin (/ pi 2))=1,我测试了下(sin pi)近似为0.0016。 反正切函数:(atan 1)=0.785,其实就是pi/4 3.角度与弧度的相互转化 弧度转角度的函数是angtos,角度转弧度是angtof,下面是它们的使用方法: (angtof "45" 3)=3.141,就是把45度转化为了弧度,其实就是pi,里面的那个3是指输出的弧度保留几位小数,3就是3位,所以是3.141 (angtos -4.1 0 1)="-125.1",第一个参数-4.1就是弧度,第二个参数是0,这个不用深究,是计数的一种表示,照写就行,第三个参数1就是要保留几位小数。 值得注意的是角度都要用英文的双引号“”表示,其本质是Lisp把角度当作字符串。所以不能直接把得出的值进行数学运算,要转化一下,这个后面再说。 4.四舍五入 Lisp自带的函数是rtos,它的用法如下: (rtos 10.154 2 1)=10.2,第一个参数10.154不说了,要操作的值,第二个参数2也不必深究,,第三个参数1就是要保留小数位了,1就是保留一位。 以上都学会了吗?一定要学会啊。
|