QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 3377|回复: 2
收起左侧

[已答复] 如何实现:逆时针输出CAD线段的坐标?

[复制链接]
发表于 2009-3-23 21:01:50 | 显示全部楼层 |阅读模式 来自: 中国山东济南

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

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

x
按照逆时针顺序,如何输出CAD图中线段的坐标(如果是多段线,则依次按照逆时针输出各点的x和y坐标。)6 O0 [3 f( G5 D2 ^6 D
请问,该如何实现?关键是逆时针是如何设置的?谢谢!盼复!
发表于 2009-10-16 10:56:58 | 显示全部楼层 来自: 中国台湾
这是一个数学问题,先不管如何取得一系列的点序列,假设你已经有依序排好的点串列,只剩如何判断这串列的顺序是逆时钟还是顺时钟。$ p- R1 r( d: R: p3 b' O
基本原理是,从这些点串列所围成的封闭区域中找任意点,或是边上的一点(点a),再由边上的其它连续两点(点b丶点c)对这个点所形成的角度,依序取其角度之正弦值(sin(点b-点a-点c)),相加後大於零则表示此序列为逆时钟方向,反之小於零,则为顺时钟方向。
1 m) b( b% q  ^底下为示范例子:) F7 a* `$ L1 C0 w( w' T& q, i
ttt为子程序名,p123n(举例:((0.0 0.0 0.0) (1.0 0.0 0.0) (0.5 1.0 0.0))为点串列,
1 k! l' \9 r: v" d) J& G- U$ C则执行 (ttt '((0.0 0.0 0.0) (1.0 0.0 0.0) (0.5 1.0 0.0))) 後得到 1.98... > 0! |5 l3 t) ?4 h, M7 m0 D6 U; m
表示此序列为逆时钟方向。
/ f0 a. r  ~" W* [3 V" R/ G4 ]9 @. a; ]
原程序:3 J6 c) y" ?' z# K
(defun ttt (p123n / pt p23n1 r s)5 w9 d/ d: u, l
  (setq pt (mapcar '(lambda(a b) (/ (+ a b) 2.0)) (car p123n) (cadr p123n))- f4 k3 y6 n9 U2 D( b% [7 v+ l4 u8 u
p23n1 (append (cdr p123n) (list (car p123n)))
$ H- o. R+ ?* i r     0.0
7 Q( C( S2 _0 p" G3 g) O  )  h9 E: e. W$ ~7 {
  (mapcar '(lambda (a b / s)
2 {2 A# N2 q2 {( k/ J      (setq s (sin (- (angle pt a) (angle pt b)))
/ Q7 N/ D, G( m  A2 Z     r (+ r s)5 V) H- O5 U, ]0 G$ A
      )
# u/ l' O$ F2 g1 ~/ O    )- [( q' \( Z2 p" l6 P
   p123n
" [) y( N4 o# ^$ V0 `   p23n1& _9 l& Y; S& ?9 a6 j9 v1 q. U
  )7 O3 t& c% ^1 B1 q
  r
2 C0 }" u5 a" m& Y5 f)- R7 ?& u2 D/ W6 {

' V" f% w8 z: o/ i附加叙述,上述原理所提的任意点(点a),最好是确定在区域中的一点,边上点的选择不是最理想的,若是顶角点,那更糟糕,有时会得出等於零的结果,一样无法辨别方向。

评分

参与人数 1三维币 +10 收起 理由
woaishuijia + 10 应助

查看全部评分

发表于 2009-10-16 21:47:48 | 显示全部楼层 来自: 中国台湾
...关键是逆时针是如何设置的...
$ t5 T- c( z, P/ l8 h6 j) t
. V+ U7 P) T- u* P
http://www.4d-technologies.com/techcenter/index.htm
' t  [3 ~) H0 F- q- U/ p1 \0 m# n==>
+ @. I) T, b/ k8 a% _; ^GE_WhatPoly [ Find the direction of the polygon (if Cw or CCw) ]
& F  v% c: Z+ F3 J+ f8 a( v. u. {(http://www.4d-technologies.com/techcenter/geom/ge_whatpoly.lsp)
4 E+ D+ j! P1 U; _$ j7 lif CW ==> http://discussion.autodesk.com/forums/thread.jspa?threadID=292585
- A+ d& N. l+ y9 T! ^4 @) j
5 x+ s; V# S3 T* y* {# {  w[ 本帖最后由 SunVei 于 2009-10-16 21:50 编辑 ]

评分

参与人数 1三维币 +5 收起 理由
woaishuijia + 5 应助

查看全部评分

发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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