[飞马系列] Visual Lisp、计算几何、算法学习好书及国外Lisp名人、网站的推荐
本帖最后由 qjchen 于 2024-11-3 22:06 编辑AutoLisp学习好书及国外Lisp名人、网站的推荐qjchen 2011.11.24
1996年开始编LISP以来,技术一直半生不熟,每年兴致来了就编一些自用程序,也不时看下书和网站。
恰逢mjtd准备出《Lisp 宝典》书,在这里抛砖引玉地写上一段,见笑了。(本文仅代表个人看法)
一书----------------------------------------------------------------------------------
LISP语言方面的书
----------------------------------------------------------------------------------
相信不少Lisper朋友都有这么一个经历,热爱上了Lisp,急需找一本教材入门,此时,在不同阶段可能关注点不同,会有不同的看法。
图书馆里面,有不少的AutoLisp的书,不过说真的,好些书写得是晦涩难懂。
下面,根据个人看过的一些书(能买纸版的都买了做收藏了),做下推荐。
1. AutoLISP编程技巧与实用程序 作者:曾刚,江东主编 出版社:四川大学出版社
http://www.zhizhen.com/book/1f3e8b35c43c7848006edcfd6bc18917
推荐读者:入门级
这是一本比较早的Lisp书籍,书出来的时候还没有vl函数,书中给出了大量的范例(>100个)。范例均不算难,篇幅<1页,不过初学者仔细阅读一遍应该很有收获。
2. Visual LISP程序设计 技巧与规范 陈伯雄
http://www.zhizhen.com/book/026b49419302183ee03f017064171eea
推荐读者:中高级用户
陈老师是个资深的LISPER,很有性格的人,书中的内容也充满了不少睿智的思想。其中利用Extend的方法求交点是我比较深的印象。是一本好书。
陈老师有一个比较坚持的思想:
放着AutoCAD优秀的数据库,却不能充分发挥它的作用,本来能用AutoCAD完成的动作却要自己编程实现。这就是VBA最人的缺憾。
..... 在专业应用程序设计中,CAGD功能在程序中的应用技巧是极其重要的(在本书中有大最的论述和实例)。CAGD技术是陈老师很推崇的。
3. AutoCAD LISP_VLISP函数库查询辞典 二代龙震工作室编著
http://www.zhizhen.com/book/63160deb368495af40a582b54cbb4411
推荐读者:中高级用户
这是一本只讲解VLA函数的书,是龙震三部曲中的一部(另外两本是VBA和ARX)
对于喜欢VLISP的ACTIVEX部分的读者,是一个很好的教材。
4. AutoCAD本身的帮助
至今,仍然有好几个Lisp原生函数,都没有怎么用上,但是函数在帮助中一直在那里默默地等着你 :)
帮助中的小路教程,可是一直讲到了反应器。在你学习的过程中,可能最需要的就是不断地查询函数的用途和写法。
TIPS: AUTOCAD2004\Sample\VisualLISP\下的那一堆LISP你有没有看过,这些可是AUTOCAD本家写的,可都是学习的楷模啊。
5.[美 Harold Abelson 裘宗燕译] 计算机程序的构造和解释
http://www.zhizhen.com/book/cebe278b4250e5be053fdfb663e72ac3
学习了AutoLisp之后,许多朋友都会想进一步的去探寻,这个古老的语言,如今为什么好像只在AutoCad中使用,它还活着么?
这时候,你可以去看看 http://www.zhizhen.com/book/8d3d7bc3aeef327b0008ca2e0950b3f8 马希文老师写的《LISP语言》
你也可以看看这本书,用Lisp语言一步步地描述着计算机程序的思想。这本书是Evgeniy介绍看的。
6. 国外的下面两本书,也都挺好。
The AutoCadet’s Guide to visual lisp
The Visual LISP Developer's Bible
----------------------------------------------------------------------------------
计算几何、计算机图形学和算法设计方面的书
----------------------------------------------------------------------------------
关于算法的书籍
由于Visual Lisp是一种和CAD密切相关的语言,而CAD中与几何相关的内容非常多。比如凸壳,比如区域查询,比如立体几何中线和面的交点等等。这时候最好能再给自己补充一下 计算几何方面的知识。而当物体数量多到一定程度的时候,你会发觉某些普通的算法会变的很慢,所以到这个时候,宜再补充一些算法方面的知识。
推荐读者:中高级读者
1. [荷]M.de Berg等著;邓俊辉译计算几何:算法与应用(原名:Computational Geometry:Algorithms and Applications Second Edition)
http://www.dushu.com/book/11196936/
这本书介绍了非常多计算几何方面的问题。后面还讲述了一些关于平移多边形的机器人最短路径等有趣的计算几何问题。作者都是在一个很高的高度上看着各个问题的,网上可以找到该书的英文和中文电子版。
2. 周培德计算几何:算法设计与分析
http://www.dushu.com/book/10770234/
周老师是国内计算几何方面的权威。这本书挺好的,仔细地描述了许多典型计算几何的问题和算法,本书已有第三版,最近在卓越买了实体书收藏
3. [美 Ernest.Pazera] 3D游戏与计算机图形学中的数学方法
http://www.zhizhen.com/book/cebe278b4250e5beac70a94883f29855
你是否有时候需要计算到立体几何中线和面的交点,是否对LISP中4*4的矩阵有疑惑,你是否觉得trans这个Lisp函数很有趣也很难懂,你是否想写出一个可以在任何UCS下都不出错的程序。这本书中用并不数学专业化的工程数学知识,深入浅出地介绍了这些矢量、矩阵等方面的问题,值得一看。
4. [沙特] M.HAlsuwaiyel著 : 算法设计技巧与分析
http://www.zhizhen.com/book/b35670c3e1a171a07b2760d693422c9e?1322441170
书中介绍了各种经典的算法,本书介绍了递归技术、分治、动态规划、贪心算法、图的遍历等技术,值得喜欢算法的您去探索研究一下。
其他还有一些书,可在下两贴中看到,不过推荐书还是以少为宜,所以只选了上面几本
http://bbs.mjtd.com/thread-63368-1-1.html
http://bbs.mjtd.com/thread-76627-1-1.html
二 外国网站和名人
以前,Eachy版主曾经在xdcad晓东论坛上,倡导过一个Lisp网站推荐的帖子,2006年,我在总结该帖的基础上,加上了一些自己推荐的网站
后来,xdcad丢失过一次帖子,而今更是关闭了网站,让人痛心疾首
该帖现在暂时转在日志http://space.mjtd.com/blog-250774-154.html 上
时过境迁,不少网址已经不复存在,而太多的网站也让人眼花缭乱
此处摘选并添加几个个人推荐网站,介绍的名人就以国外名人为限吧,国内高手太多,漏了谁都不好,是啵:)
1.Autodesk自家的讨论区: 国外论坛
http://discussion.autodesk.com/forum.jspa?forumID=130
这里,各种各样的问题都有,不过这几年的文章少了许多,大概是Lisp不如以前热门了吧,开发者有了更多的选择
在这里用搜索,可以非常快的解决你的大部分问题
2. www.theswamp.org
这几年,这里成为了不少高手的集聚地,经常可以在这里看到许多著名的高手,如MP,Evgeniy,Lee-Mac。Mjtd的Highflybird兄在这里也经常用一篇篇高质量的文章技惊四座的。
在05年曾经在xdcad写过一篇推荐theswamp程序的文章,可惜现在也丢失了。
在theswamp的高手也经常出没在
http://www.cadtutor.net/forum/forumdisplay.php?21-AutoLISP-Visual-LISP-amp-DCL&s=2693c6dedafdbc148c4a7cc187de56d8
和
http://forums.augi.com/forumdisplay.php?f=91
这两个论坛
3. http://cadtips.cadalyst.com/node/category-listing
著名的LISP程序收集地,这里有数以千计的Lisp源代码,按照类型进行了清晰的归类
06年左右曾寄过3个程序过去,被收录了。其中1个拿到了100美金的奖励,另外2个拿到了2件纯棉T恤。
最近的活动是
Do you have any tips for using AutoCAD — or any other CAD software tool — more effectively and efficiently? Send them to us! If we publish your tip, you'll earn a gift card you can use to purchase a T-shirt or other prizes in the Cadalyst Store.
最近你有AUTOCAD的小技巧么,有的话可以寄过去,将会得到一个礼品卡,可以用于购买T恤或者其他奖品。
Do You Have any Hot Leads for Harry?
When it comes to CAD code, Hot Tip Harry knows a good tip when he sees it! Use the "Submit Tip" button below to send us your LISP routines. If we publish your tip, you'll earn a $25 gift card you can use to purchase a T-shirt or other prizes in the Cadalyst Store
这个是关于Lisp的,可以获得25$的礼物卡
4.个人网站
对于学习Lisp,有一个很好的过程就是仔细学习高手们的代码,那些充满睿智的写法常常会让你拍案叫绝,我想这也是各位Lisper始终爱着Lisp的原因吧
能在论坛上看到高手的源码本来就是一种幸运,要是高手们还批量提供代码,那更是受益匪浅。
下面介绍一些个人喜欢的个人网站或公司网站
http://lee-mac.com/
这几年才横空出世的lee-mac无疑是Visual Lisp界的一颗闪亮的星星,只有20岁出头的他是来自于英国的一名数学系的大学生
具有扎实的数学知识和Lisp基本功,同时又乐于助人。这几年他在theswamp上的程序可谓是井喷,现在他大部分的程序放在了上面这个网站
涉猎面非常广,在动态显示方面下了很大的功夫。
http://elpanov.com
Elpanov Evgeniy的网站,Evgeniy,一个俄罗斯顶级Lisp程序员,其函数以简短难懂著称,擅长递归式函数编程。在theswamp中是公认的Lisp大师。
借助 http://elpanov.com/index.php?id=1 这里的英文翻译程序,可以对其网站做大致的认识。
由于共同喜欢上某些数学问题而和Evgeniy结识,发现他除了在autolisp方面有研究外,在原生Lisp方面更是强劲,似乎编过一个Lisp的系统。
开始我不大相信,最近看了实用Common Lisp编程这本书,才发现原来地球上还有如Symbolics等生产可以在芯片上直接运行Lisp计算机系统。
最近McCarthy的逝世真让人沮丧,多么厉害的大师啊。
http://www.afralisp.net/index.php
非常老牌的Lisp学习网站,大概早到97年之前就有了。假如喜欢入门的朋友,可以看看这里的教程
http://web2.airmail.net/terrycad/
也是非常早的Lisp网站了,中间曾经沉寂过多年,不过最近Terry又重出江湖了,著名的那个射击游戏Troy.lsp就是Terry Miller 的作品
http://web2.airmail.net/terrycad/AutoLISP-Code.htm 里面有不少代码
可惜啊,原来他的论坛曾经收集过大量的Lisp游戏......,现在又关闭了
http://autolisp.mapcar.net/lambda.html
Mapcar,Lambda,有趣而让人头晕的Lisp函数,当在现在的.net,python,ruby中开始慢慢看到这些函数的时候,总是为Lisp感到骄傲
这里函数不多,但是美妙的3dmesh 让人难以忘怀
http://www.4d-technologies.com/techcenter/index.htm
以前曾经为了搜索区域识别的程序来到了geotools,后来在这里发现了作者提供了大量的免费Lisp程序,最近gu版也推荐过了一次。
提到大量提供个人或者公司函数库的,还有好几位高手
Menzi:http://www.menziengineering.ch/可惜这里关闭了,他提供了包括凸包在内的许多函数
dotsoft公司: http://www.dotsoft.com/freestuff.htm,这里也提供了好些不错的免费程序下载,有些是vlx的
Jimmy Bergmark:http://www.jtbworld.com/?/lisp.htm 还记得很早时候那个寻找hatch边界线的hatchb程序么,就是Jimmy Bergmark的作品,此处,他还提供了不少其他的免费程序
Lispwiki:http://lispwiki.com/index.php5?title=Special:Allpages 里面的Lisp多是收集来的,不过程序代码还够不上太多
Tony Tanzillo: Autodesk本家论坛,google group上发贴最多的大高手,其个性鲜明,在拥有众多拥趸的同时,也经常受到某些人的评击。不过近年来,在Autodesk论坛上罕见其发言,非常可惜。其Lisp水平和.net水平均非常高,caddzone.com等他的网站可惜现在好像都访问不了了。
我对众多高手(包括国内,此文不谈而已)均存在着深深的佩服,也经常抱着 吃到一个好鸡蛋就很想看到下蛋的鸡 的思想去拜访着各个高手的网页。
以前曾经经常大量地下载了大批的代码,现在慢慢地改成了享受高手们代码带来的乐趣,有个小建议,以后收藏代码的时候,记得把源网页地址和作者记下来,既是一种尊重,也对日后遇到其他问题很有帮助。
现在基本上想实现的功能都能编出来了,但每次看到更好的方法更简洁的代码总是忍不住激动一下。或许这就是Lisp而不是其他语言带来的快乐吧。
希望明经通道的《明经 Visual LISP 开发宝典》可以早日完工,让更多的朋友可以享受到Lisp的快乐。
谢谢
学无之境,能力不够,文字来凑 学无之境,能力不够,文字来凑 顶了 本帖最后由 xshrimp 于 2011-11-24 08:22 编辑
qjchen翻译过很多英文资料,对于我们这些英语不好的提供了很多帮助.
要是有精力能帮助lee-mac的网站搞个中文转换就好多了! 有心人,谢谢分享! 正在学习中,必定有很大的帮助! 已收藏,带有空慢慢一个个的拜访 已收藏~~待有空慢慢一个个看
謝謝分享!! 多谢, 收藏了 陈工,好呀
关于原理:不死猫已经做了很多工作
关于函数帮助:1.Visual LISP程序设计(技巧与规范 陈伯雄)
2.AutoCAD LISP_VLISP函数库查询辞典 二代龙震工作室编著
都相当给力
唯一欠缺的是:关于lisp算法的讨论与运用 本帖最后由 qjchen 于 2011-11-24 12:52 编辑
谢谢各位的喜欢 :)
To xshrimp: 一直在用您的筑原杀毒软件,很好用,也推荐给了许多人。Lee Mac的网站有许多gif动态图片,看起来还是比较直观。若真的需要翻译,我和Lee Mac聊聊,看看他的意见如何。有一段时间也经常把一些国内的帖子发给外国朋友看,他们都认为水平很高,当时也萌发过翻译一些帖子到国际论坛,不过现在大家也经常在国外发帖子,国际交流已经很密切,也就不用了 :)
To redcat: 谢谢 :) 国内高人也是非常多,也都是国际水平,nonsmall兄、highflybird兄、狂刀兄等.... (众多高手,恕无法一一列举)在原理算法方法都有深入的研究,也很希望能借这次明经写书之际,各位能系统地把这方面的知识教下给大家。
毕竟,画图人虽多,编程者在里面始终是个小众群体,大家能一起聚到mjtd来,是一种缘分。有交流、有进步~。
也希望大家能不吝介绍您心目中的好书和好网站。~~~