[VBALISPER]恐龙 14:51:48
找数学关系
[Angel1995][Angel1995]Angel 14:51:49
点1与点2有的时候是反过来的
[q3_2006]q2 14:52:10
3点有啥关系?
[Angel1995][Angel1995]Angel 14:52:20
(list(CAR pt1) (caDr pt2))
[q3_2006]q2 14:52:21
上图
[Angel1995][Angel1995]Angel 14:52:25
怎么不对呢
上图了啊
[pzweng][pzweng]路人 14:53:30
(list(CAR pt1) (caDr pt2) (caddr pt3))
[Angel1995][Angel1995]Angel 14:53:44
这样完全不对呀
[q3_2006]q2 14:55:10
ptn 是ptlst吧
这读的什么呀。。
[Angel1995][Angel1995]Angel 14:55:47
我求出的一直是第4点
第三点怎么?
[q3_2006]q2 14:56:03
看不懂
[pzweng][pzweng]路人 14:56:20
你在说什么
[q3_2006]q2 14:56:28
图,咱们言语能力都很差。。
看图说话来得快
[q3_2006]q2 14:58:19
x y 反了
[Angel1995][Angel1995]Angel 14:58:35
是呀
也可以先下面后上面
[Angel1995][Angel1995]Angel 14:59:59
好比 我点左下点 再点右上点
我点点右上点 再左下点
两种结果都要得出右下点
[328302216][328302216]小莫 15:00:40
取得两点的X坐标取大的,再取得两点多 Y坐标取小的
[Angel1995][Angel1995]Angel 15:01:28
有劳写写
我晕了这个
[q3_2006]q2 15:02:14
(setq pt3 (list(car pt2) (cadr pt1)))
[pzweng][pzweng]路人 15:05:49
呵呵
[Angel1995][Angel1995]Angel 15:07:08
如果PT1在前面呢?
[q3_2006]q2 15:07:27
什么叫在前面?
[Angel1995][Angel1995]Angel 15:07:44
先选 后选
我知道原因了 试试先
[q3_2006]q2 15:08:02
你上图,表达得不清楚
[VBALISPER]恐龙 15:09:06
[328302216]小莫(328302216) 15:00:35
取得两点的X坐标取大的,再取得两点多 Y坐标取小的
就是它了
[Angel1995][Angel1995]Angel 15:11:02
可以了
肯能是玩的太多了 晕了
谢谢大家
[【KAIXIN】] [【KAIXIN】]炫翔 15:11:57
明总刚刚发帖了 生命可贵,玩LISP别太认真
劳逸结合
[q3_2006]q2 15:13:04
太费劲就放弃
[328302216][328302216]小莫 15:18:24
小明睡着了吗 ?怎么没提示发贴
[LC100]建筑设计 15:18:58
[qqimg]201309/{CDB459BA-8100-77FA-36EF-52E7CDB71FBB}.jpg[/qqimg]
占了一个管理员的位
让我当一下管理员嘛。
[328302216][328302216]小莫 15:20:09
当管理有什么不一样?
[LC100]建筑设计 15:20:46
多个头像
[q3_2006]q2 15:20:51
比较累
[pzweng][pzweng]路人 15:20:57
呵呵
[LC100]建筑设计 15:22:18
上班没事做,好累啊。
[q3_2006]q2 15:22:47
天生贱骨头??
[LC100]建筑设计 15:22:58
没
这几天没事做,突然间觉得过一分钟都好慢。
[enn09][enn09]Alex 15:23:25
我也是
[【KAIXIN】] [【KAIXIN】]炫翔 15:23:29
既然刚刚那朋友,说出了这个
我也研究了一个自定义函数
功能:计算两点的x y方向的距离
自定义函数1 虽然简洁但是速度不行
[pzweng][pzweng]路人 15:24:47
返回什么
[【KAIXIN】] [【KAIXIN】]炫翔 15:24:55
自定义函数2 虽然啰嗦 但是速度快
[【KAIXIN】] [【KAIXIN】]炫翔 15:25:35
计算两点的x y方向的距离 ,(x y)==>(613.734 737.774)
[pzweng][pzweng]路人 15:26:02
哦
[q3_2006]q2 15:26:21
垂直距离
[阿然][阿然] 15:26:46
没看明白
[【KAIXIN】] [【KAIXIN】]炫翔 15:26:49
[qqimg]201309/{E5FD0E7D-05A5-A81D-E24E-DA52C94B00BA}.jpg[/qqimg]
[阿然][阿然] 15:27:10
。。。distance * sin angle?
[VBALISPER]恐龙 15:27:22
X增量,Y增量
[【KAIXIN】] [【KAIXIN】]炫翔 15:27:42
用角度计算也许会更快
[阿然][阿然] 15:28:41
(defun deltaxy (pt1 pt2 / ang dist)(setq dist (distance pt1 pt2) ang (angle pt1 pt2))(list (* dist (sin ang))(* dist (cos ang))))
[pzweng][pzweng]路人 15:29:43
(list (distance ((list (car pt1) 0) (list (car pt2) 0)))
(distance ((list 0 (cadr pt1)) (list 0 (cadr pt2)))))
[pzweng][pzweng]路人 15:30:57
(list (distance (list (car pt1) 0.0) (list (car pt2) 0.0))
(distance (list 0.0 (cadr pt1)) (list 0.0 (cadr pt2))))
[阿然][阿然] 15:31:09
不是求xy的增量?
[【KAIXIN】] [【KAIXIN】]炫翔 15:31:30
是X Y 的垂直距离
pt1 pt2 都有跌倒的可能
[pzweng][pzweng]路人 15:31:51
得出的结果是(x-x1 y-y1)
[阿然][阿然] 15:31:54
垂直什么位置的距离?
[【KAIXIN】] [【KAIXIN】]炫翔 15:31:56
我知道角度是可以实现
得判断下
相交
[qqimg]201309/{DCA4246C-ED08-53D7-CBFF-B27B61893CD3}.jpg[/qqimg]
[阿然][阿然] 15:32:28
还是没明白
[pzweng][pzweng]路人 15:32:43
不是很理解
[【KAIXIN】] [【KAIXIN】]炫翔 15:33:24
是的
判断X坐标也不慢
[【KAIXIN】] [【KAIXIN】]炫翔 15:34:35
你先实现这个吧
;计算两点的x y方向的距离 ,(x y)==>(613.734 737.774)
;(xx-p-2ptXYDist p1 p2)
;(xx-p-2ptXYDist (GETPOINT)(GETPOINT))
我看看角度是否快些
[阿然][阿然] 15:35:05
x y方向的距离?
deltaX和deltaY?
[pzweng][pzweng]路人 15:35:27
他的意思应该是 x2 - x1
y2 - y1
差不多吧
是这个意思
[阿然][阿然] 15:36:17
是要正负值?
[pzweng][pzweng]路人 15:36:19
deltax/y
不需要
[lisp新手]深呼吸 15:36:30
没必要 ,直接 abs
[【KAIXIN】] [【KAIXIN】]炫翔 15:36:31
正
[阿然][阿然] 15:36:42
那就是坐标差值嘛
[【KAIXIN】] [【KAIXIN】]炫翔 15:36:49
速度最慢
[pzweng][pzweng]路人 15:37:16
阿然快
两个都是负值呢
[【KAIXIN】] [【KAIXIN】]炫翔 15:37:35
快要质量
[阿然][阿然] 15:37:47
。。。。和正负有啥关系啊
[pzweng][pzweng]路人 15:37:51
distance还是这个函数好
-10-10=-20
[阿然][阿然] 15:38:10
不是abs了
[【KAIXIN】] [【KAIXIN】]炫翔 15:40:07
[qqimg]201309/{E06075AF-A8DF-E401-DB81-17EDF1CA6286}.jpg[/qqimg];4.359秒
还没有这个快
目前下面这种方式最快
(defun xx-p-2ptXYDist (p1 p2 / ca1 ca2 p3)
(if(>(setq ca1(car p1))(setq ca2(car p2)))
(progn
(setq p3(list ca1 (cadr p2)))
(list(distance p2 p3)(distance p1 p3))
)
(progn
(setq p3(list ca2 (cadr p1)))
(list(distance p1 p3)(distance p2 p3))
)
)
)
[pzweng][pzweng]路人 15:40:51
a b c里面的c是干嘛用的
[【KAIXIN】] [【KAIXIN】]炫翔 15:41:37
因为后者没有遍历
[pzweng][pzweng]路人 15:41:47
这样不行吗
搞不懂写那么复杂干什么
[【KAIXIN】] [【KAIXIN】]炫翔 15:42:13
完整的写法要判断点1 与 点2的位置
[阿然][阿然] 15:42:24
多余
还没到追求速度的水平,能解决问题就好
[【KAIXIN】] [【KAIXIN】]炫翔 15:42:46
[198526]DZ 15:42:50
炫翔是个执着的人
[【KAIXIN】] [【KAIXIN】]炫翔 15:43:01
刚刚在讲速度
我试试角度的方法
[pzweng][pzweng]路人 15:43:16
我那个速度怎么样
更快吧
[【KAIXIN】] [【KAIXIN】]炫翔 15:43:29
如果遇到大量的玩意 速度就差很远了
[【KAIXIN】] [【KAIXIN】]炫翔 15:46:49
这个是受[qqimg]201309/{7706C2F7-2673-FCB7-5863-33A9446BD2AD}.jpg[/qqimg]的指点
既然要做通用函数 就用心玩到最好
[【KAIXIN】] [【KAIXIN】]炫翔 15:48:01
如果一个大程序,N个通用函数累计起来的 这速度...
[198526]DZ 15:48:15
我觉得路人那个也不错啊,慢在哪 学习下。请指点 谢谢!
[【KAIXIN】] [【KAIXIN】]炫翔 15:51:25
路人的 用时:3.187秒
炫翔的目前版本:用时:2.641秒
[pzweng][pzweng]路人 15:57:57
你的测试时间程序有问题吧
[【KAIXIN】] [【KAIXIN】]炫翔 15:58:06
角度的玩意 不弄了,光思路都觉得是慢的了
[fsxm]飞诗 15:58:07
[【KAIXIN】] [【KAIXIN】]炫翔 15:58:18
计算太多
[lisp新手]深呼吸 15:58:20
100w次
[【KAIXIN】] [【KAIXIN】]炫翔 15:59:20
你可以用COMMAND 与ENTMAKE 函数 去测试这个测试时间的函数
因为ENTMAKE 最快
[lisp新手]深呼吸 16:00:59
嘴最快
[【KAIXIN】] [【KAIXIN】]炫翔 16:02:16
LISP是算法语言
路人的 是层次太深
[pzweng][pzweng]路人 16:02:53
不明白
[【KAIXIN】] [【KAIXIN】]炫翔 16:03:10
LISP是不是从内到外执行?
[pzweng][pzweng]路人 16:03:12
command肯定不好用
明白了
可以这样写
[lisp新手]深呼吸 16:03:34
呵呵
[pzweng][pzweng]路人 16:04:09
(- (abs (car p1)) (abs (car p2)))
再abs一下
[lisp新手]深呼吸 16:04:33
不对的
[【KAIXIN】] [【KAIXIN】]炫翔 16:05:16
ABS最慢
[pzweng][pzweng]路人 16:05:39
不会吧
郁闷
[【KAIXIN】] [【KAIXIN】]炫翔 16:05:48
看看有谁的ABS比这快多少
[pzweng][pzweng]路人 16:06:03
你这个只用了1个
[lisp新手]深呼吸 16:06:16
只用一个才是对的
[lisp新手]深呼吸 16:06:59
(- (abs -100)(abs 300)) = -200
(- -100 300) = -400
[mmh1][mmh1]漫步地球 16:07:11
ssget 的时候把图缩小了,会选到ssget以外的东西
[lisp新手]深呼吸 16:07:37
(abs (- -100 300))=400
[pzweng][pzweng]路人 16:08:48
我理解错了
[lisp新手]深呼吸 16:08:58
是的
最终结果abs下即可
[lisp新手]深呼吸 16:15:17
命令: tt 用时:4秒
命令:
命令: tt 用时:3.859秒
命令:
命令: tt 用时:3.984秒
[lisp新手]深呼吸 16:15:59
和电脑硬件也有关,
[q3_2006]q2 16:16:21
还在玩这个呀。。怎么不用角度算,也许很快?
[pzweng][pzweng]路人 16:16:37
开心老大讲了不行
[q3_2006]q2 16:16:51
什么速度
[lisp新手]深呼吸 16:16:57
用角度也行 |