QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
10天前
查看: 3307|回复: 2
收起左侧

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

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

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

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

x
按照逆时针顺序,如何输出CAD图中线段的坐标(如果是多段线,则依次按照逆时针输出各点的x和y坐标。)
2 o, `5 w; I+ c( c# X/ m请问,该如何实现?关键是逆时针是如何设置的?谢谢!盼复!
发表于 2009-10-16 10:56:58 | 显示全部楼层 来自: 中国台湾
这是一个数学问题,先不管如何取得一系列的点序列,假设你已经有依序排好的点串列,只剩如何判断这串列的顺序是逆时钟还是顺时钟。# m$ Q" j3 V0 @
基本原理是,从这些点串列所围成的封闭区域中找任意点,或是边上的一点(点a),再由边上的其它连续两点(点b丶点c)对这个点所形成的角度,依序取其角度之正弦值(sin(点b-点a-点c)),相加後大於零则表示此序列为逆时钟方向,反之小於零,则为顺时钟方向。5 ?& ?0 W  |) @
底下为示范例子:% S; F2 @; Q* n( p
ttt为子程序名,p123n(举例:((0.0 0.0 0.0) (1.0 0.0 0.0) (0.5 1.0 0.0))为点串列,% L# v& h( B0 _1 l. j" X/ @
则执行 (ttt '((0.0 0.0 0.0) (1.0 0.0 0.0) (0.5 1.0 0.0))) 後得到 1.98... > 06 Z6 R, `% I, {0 d1 C; x
表示此序列为逆时钟方向。9 V" D( O" H( U' m
/ |! ^7 S7 ^2 X' U% |' U( D
原程序:
4 K; X7 P1 N2 L4 J/ b/ b1 a# c(defun ttt (p123n / pt p23n1 r s)4 r. B% k: `0 j) i
  (setq pt (mapcar '(lambda(a b) (/ (+ a b) 2.0)) (car p123n) (cadr p123n))
! e, c/ B' p% w, m5 a  q p23n1 (append (cdr p123n) (list (car p123n)))
; Y9 l3 y6 L, F9 m6 S' A: y r     0.0; x# k" \+ B9 n4 d2 p# j2 Q3 U
  )# u4 I- b+ s+ }  T' l/ \
  (mapcar '(lambda (a b / s)+ M/ M7 @1 {! \5 i( Z' T" I! \" f
      (setq s (sin (- (angle pt a) (angle pt b)))
1 Z/ ^4 D* K& J! @# l( c     r (+ r s)7 p( M! ]5 Z0 v
      ); _. n. l: u0 J  G4 T) k
    )
5 @3 ?; z- f. S   p123n  t$ C( W) }2 [/ I
   p23n1- X! Y0 w7 x% y) a$ J
  )
( `! B2 Z: U: ]+ A2 e# x+ j  r
8 X4 s% V( Y1 x# C. U5 @)# |- x6 [3 l" j. g% x+ _6 v4 d
* B- o% T9 J1 M+ z
附加叙述,上述原理所提的任意点(点a),最好是确定在区域中的一点,边上点的选择不是最理想的,若是顶角点,那更糟糕,有时会得出等於零的结果,一样无法辨别方向。

评分

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

查看全部评分

发表于 2009-10-16 21:47:48 | 显示全部楼层 来自: 中国台湾
...关键是逆时针是如何设置的...

' B& \# r! ?/ Q/ S: I* }/ C0 |: i1 U, X* l3 s( F: w. V! r
http://www.4d-technologies.com/techcenter/index.htm  L$ ?% i* F; Y5 N/ a2 H- V: O3 m
==>: H6 l7 I& S" Z1 I9 q, w
GE_WhatPoly [ Find the direction of the polygon (if Cw or CCw) ]
2 Z# u4 H8 s+ C3 V5 m" g$ K' t(http://www.4d-technologies.com/techcenter/geom/ge_whatpoly.lsp)
/ p5 n& I5 t5 iif CW ==> http://discussion.autodesk.com/forums/thread.jspa?threadID=292585
' a6 j( ?, Q1 w$ {% L
; ]) K- i! n! _: g$ ^[ 本帖最后由 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 )

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