- 积分
- 18287
- 明经币
- 个
- 注册时间
- 2015-8-18
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
本帖最后由 你有种再说一遍 于 2025-9-1 11:23 编辑
组块:
选中的部分克隆一份图元们到内存中,把它们从插入点移动到原点(0,0),
根据鼠标坐标系进行三维旋转到世界坐标系,
加入块表记录.
插入:上面步骤的逆向.
新建块参照,id指向为块表记录,插入到原点,三维旋转,平移到插入点.
块参照会储存一个块矩阵,记录仿射变换的元素,也就是:缩放+三维旋转+平移...
而你的问题:块内坐标就是原点(0,0)附近的.
可以: 块内点 * 块参照矩阵 => 块外点. (这个*是矩阵乘法)
这种就是大名鼎鼎的基变换.
至于Lisp怎么敲?看其他人表现了,嘻嘻. |
|