找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 19946|回复: 45

[他山之石] Visual Lisp、计算几何、算法学习好书及国外Lisp名人、网站的推荐

  [复制链接]

已领礼包: 19个

财富等级: 恭喜发财

发表于 2013-5-6 17:08:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
刚在群里面看到一个好帖子,明经上的帖子,给转过来,飞马系列的,版权归原作者qjchen。

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. 国外的下面两本书,也都挺好。

[Bill Kramer] The AutoCadet’s Guide to visual lisp
[David M. Stein] 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的快乐。

评分

参与人数 2D豆 +5 收起 理由
ScmTools + 2 热心奖!
炫翔 + 3 再接再厉!

查看全部评分

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 2688个

财富等级: 家财万贯

发表于 2013-5-6 17:30:44 | 显示全部楼层
楼主见识也很广博啊,感谢分享!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6468个

财富等级: 富甲天下

发表于 2013-5-6 18:02:58 | 显示全部楼层
此贴必火,占个楼先。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2013-5-6 19:29:26 | 显示全部楼层
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 449个

财富等级: 日进斗金

发表于 2013-5-6 19:49:56 | 显示全部楼层
不错!顶一个。。虽然我暂时没有时间看!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-5-6 20:08:21 | 显示全部楼层
这个。。。弱弱的问一句,怎么我打开链接都是跳到明经呢。。。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3394个

财富等级: 富可敌国

发表于 2013-5-6 20:42:24 | 显示全部楼层
好东西,绝对收藏,谢谢楼主分享:lol
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 74个

财富等级: 招财进宝

发表于 2013-5-6 20:48:57 | 显示全部楼层
后悔了悲催的英文!顶起!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1632个

财富等级: 堆金积玉

发表于 2013-5-6 21:27:03 | 显示全部楼层
支持! 希望再接再励
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

 楼主| 发表于 2013-5-6 21:48:21 | 显示全部楼层
{:soso_e143:} 大家都支持我啥呢?支持我继续转帖? 糗大了,咨询版主才帮我把链接修改好了,开始我真的不是故意的啊。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3255个

财富等级: 富可敌国

发表于 2013-5-24 21:14:24 | 显示全部楼层
楼主的见识真是令人佩服:lol
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3255个

财富等级: 富可敌国

发表于 2013-5-25 23:02:25 | 显示全部楼层
不错不错  好东西哦,学习了:lol
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2869个

财富等级: 家财万贯

发表于 2013-6-1 16:32:09 | 显示全部楼层
好多链接都打不开了,不知是网络还是其他问题
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-6-17 12:48:49 | 显示全部楼层
网页打开不了!书籍下载不了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-6-28 12:01:27 | 显示全部楼层
好的连接打不开:L
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-4-20 20:42 , Processed in 0.430020 second(s), 61 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表