LISP
数值计算之解方程
此处用比较纯LISP的方法来解非线性方程。
主要采用Van Wijingaarden-Dekker-Brent方法求解。
下面是其源码:
- 阅读更多 关于 数值计算之解方程
- 登录 发表评论
数值计算之求积分
用LISP编写了一个求积分的程序:
里面采用了各种方法求积分和各种类型的积分。下面我把各种方法的源码贴出。
方法一: 勒让德-高斯积分法。
- 阅读更多 关于 数值计算之求积分
- 登录 发表评论
一元二次、三次、四次方程求解和复数的运算
对一元三次或者四次方程,是有数学公式求精确解的,可以不用迭代法。参考了维基的上的方法,现在我贴出一元二次、三次或者四次方程的LISP求解方法。
LISP的表达式求值
表达式一般来说有三种:前缀表达式、中缀表达式、后缀表达式,其中后缀表达式又叫做逆波兰表达式。中缀表达式是最符合人们思维方式的一种表达式,顾名思义,就是操作符在操作数的中间。而前缀表达式和后缀表达式中操作符分别在操作数的前面和操作数的后面。在写表达式,我们一般用中缀表达式,譬如 1+2*3-4/5。并且按照操作符的优先级进行计算。
然而LISP语言是一种前缀表达式,为了把表达式转为LISP函数或者求值,需要进行翻译,添加大量的括号和修改函数的顺序。
这个程序的目的就是使得这一工作变简单。
当然,CAD里面本身也有几种种方式能完成这个,但它们的优缺点容我后面讨论。
程序借鉴了飞诗的一些代码,在此深表感谢。
程序的核心代码如下:
- 阅读更多 关于 LISP的表达式求值
- 登录 发表评论
简繁转化
简体字和繁体字的互相转化程序,可用于CAD的文字处理。
以下是其实现代码:
- 阅读更多 关于 简繁转化
- 登录 发表评论
椭圆论
对椭圆的研究。其中有大量的使用函数:
包括椭圆的展开,椭圆的相交,椭圆的作图,椭圆的面积,周长算法以及与椭圆相关的方程等较为高级知识。
下面是代码:
- 阅读更多 关于 椭圆论
- 登录 发表评论
圆论
对CAD中圆和弧的研究。包括如下内容:
圆和弧的基本要素,圆的和弧的周长 ,面积,质心;
它们的种种作图法,譬如三点画圆,三切线画圆等;
它们与点、圆和直线的关系及其判断。
等等 。
下面是相关代码:
- 阅读更多 关于 圆论
- 登录 发表评论
矩阵论
对CAD中矩阵及其相关知识的研究.
包括了线性代数的一些基本知识;
矩阵的基本运算;
矩阵的基本变换;
实体的矩阵及其变换;
方程求解和矩阵的求逆、矩阵的特征解;
等等。
下面是其实现的相关代码:
- 阅读更多 关于 矩阵论
- 登录 发表评论
点、线、面和多边形的LISP库
下面的代码是为CAD 的LISP定制的一些算法和函数(点,线,面和多边形部分):
直接附上代码:
高仿ALIGN命令
CAD中平齐物体的实现是通过align命令来实现的。
但在CAD编程中有时候需要对这个命令自定义,而且在某些情况下不适合用命令形式。
所以我编写了一个lisp程序,用户也可以根据这个程序定义更高级的平齐。
下面是实现的代码。
- 阅读更多 关于 高仿ALIGN命令
- 登录 发表评论