cumtjh 发表于 2011-6-27 18:31:56

Lisp程序实现二维图形中假三维旋转 原理是什么?

本帖最后由 cumtjh 于 2011-6-27 18:39 编辑

lisp程序实现二维图形中假三维旋转 原理是什么?

正常情况是在三维图中旋转,而下面的动画显示(本人制作)在二维XY坐标系下 分别实现沿Z 轴 旋转 X 轴旋转 Y轴旋转 达到初步的三维效果,而且有利于抽象平面图成三维图(帮助三维立体感不强的同志形成三维感),便于我们后期局部加工,形成初步底图。

本人演示的是lisp编写的fas文件,通过ctrl+z发现对象在旋转时已经变成了一个块,其他就都不知道啦,由于本身经常接触平面,需要将平面图绘制一定三维效果(假三维)的图,后续还有利用到该图一系列复杂计算,所以麻烦大家帮忙想想办法,或有什么好工具推荐下,目的为了减少工作量,提供效率。

本人对cad 旋转很不熟悉,平时用的多就是rotate命令 没用过3do、3R等命令,所以搞不明白,在二维图下实现下面的操作

问题是如何通过编程实现的二维XY坐标系下 分别实现沿Z 轴 旋转 X 轴旋转 Y轴旋转?原理利用的是什么?请大家批评指正,O(∩_∩)O谢谢






http://bbs.mjtd.com/xwb/images/bgimg/icon_logo.png 该贴已经同步到 cumtjh的微博

cumtjh 发表于 2011-6-27 18:44:11


3do三维旋转虽然很少旋转时很像,但又明显不同上面,3do只是视觉不同,而上面的图最后变成二维图,线段长度都发生根本改变,不再是原来那个图,不是视觉效果引起的。麻烦朋友们帮下忙


cumtjh 发表于 2011-6-27 18:46:53

本帖最后由 cumtjh 于 2011-6-27 19:28 编辑

刚才摸索有点明白了 好像就是3R命令引起的 可能编程者自定义了沿X Y Z三种情况,但具体还没弄明白

cumtjh 发表于 2011-6-28 10:52:04


yoyoho 发表于 2011-6-28 12:15:51

;;一个参考程序,看是否有帮助呢?
(defun c:rotob3()
(vl-load-com)
(setvar "cmdecho" 0)
(princ "\nSelect object: ")
(setq e (ssget))
(setq p (getpoint "\nSelect rotation point: "))
(setq a 2
b 8
c 150
i 0)
(if (= 0 (rem (setq d (/ 360 b)) 1))
(while (< i a)
(repeat d
(vl-cmdf "rotate" e "" p 8)
(vl-cmdf "delay" c)
)
(setq i (1+ i))
)
)
)
页: [1]
查看完整版本: Lisp程序实现二维图形中假三维旋转 原理是什么?