QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
15小时前
查看: 7158|回复: 32
收起左侧

[分享] 已知中心及其上三点,求作椭圆

[复制链接]
发表于 2015-1-14 00:13:04 | 显示全部楼层 |阅读模式 来自: 中国北京

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

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

x
本帖最后由 gongwen0519 于 2015-1-14 00:21 编辑 8 M( z1 J5 [; W
" }( u  N5 T$ N5 N5 y! ~
本题是继这个http://www.3dportal.cn/discuz/fo ... ead&tid=1449246【作出最长值(不限软件)】帖子而来,该帖椭圆中心可知,同时也可以随便得到椭圆上的三点。* S6 Q9 o& P6 G9 ]& _
: `, L/ c) V- O% z, n2 u
几何作图作出OX、OY的方向与长度即可,ACAD则画出整个椭圆:
  b  ~8 |, d2 L( m; F
# y9 Z% F6 h/ r4 K9 N4 R(这类问题在工程实际中很实用。)
* K% O$ r. j8 v1 T, t3 J& I. m: X; G: P
tuoyuan.png
  z1 ]+ J) l% W/ a8 I0 i

评分

参与人数 1三维币 +20 收起 理由
woaishuijia + 20 发起技术讨论

查看全部评分

发表于 2015-1-19 12:32:28 | 显示全部楼层 来自: 中国辽宁抚顺
怎么没人回呢?
  1. Sub C3PE()
    , C# u9 }+ a8 i+ W
  2. Dim P0(2) As Double, P1 As Variant, P2 As Variant, P3 As Variant, P4 As Variant  o6 W" d" u# n# _8 ^
  3. Dim X1 As Double, Y1 As Double, X2 As Double, Y2 As Double, X3 As Double, Y3 As Double
    & h: y7 |: c7 B, N) i% x
  4. Dim A As Double, B As Double, C As Double, F As Double, Ang As Double, R1 As Double, R2 As Double) h7 g! x& W, \
  5. On Error GoTo 10
    ( h' l# {. C( I, ?
  6. With ThisDrawing
    . A+ `0 l" M# n) @# r! k
  7. P1 = .Utility.GetPoint(, "指定中心点")
    2 j! h+ b# ~* ]6 a5 H( u+ A# a6 Y4 c
  8. P2 = .Utility.GetPoint(, "指定第一点")- k6 \' w! {' O& j
  9. P3 = .Utility.GetPoint(, "指定第二点"): `) P/ z7 {, }
  10. P4 = .Utility.GetPoint(, "指定第三点")
    : O5 D) U) A9 a1 s; b# N7 q$ B
  11. X1 = P2(0) - P1(0)
    4 f) g7 F5 H2 J5 C+ f4 w6 w" x1 k
  12. Y1 = P2(1) - P1(1)
    6 @! ^: T1 [' L2 W3 z# U
  13. X2 = P3(0) - P1(0), H4 ?6 {6 v  h8 P" C2 f
  14. Y2 = P3(1) - P1(1). T6 [9 D! h* d: s2 q, L; w
  15. X3 = P4(0) - P1(0)- }/ a. l* w4 m3 n5 y; [1 C
  16. Y3 = P4(1) - P1(1)
    / r  C  V5 c. a5 @: S5 l! X7 T2 K
  17. A = (X1 * Y1 - X2 * Y2) * (Y1 ^ 2 - Y3 ^ 2) - (X1 * Y1 - X3 * Y3) * (Y1 ^ 2 - Y2 ^ 2)
    7 F) `$ d& y; Z  L' G; C6 R
  18. If A <> 0 Then) d/ f6 m. i% V8 e. u8 K
  19. B = ((X1 ^ 2 - X2 ^ 2) * (X1 * Y1 - X3 * Y3) - (X1 ^ 2 - X3 ^ 2) * (X1 * Y1 - X2 * Y2)) / A; z% {) M7 r; x0 \
  20. C = ((X1 ^ 2 - X3 ^ 2) * (Y1 ^ 2 - Y2 ^ 2) - (X1 ^ 2 - X2 ^ 2) * (Y1 ^ 2 - Y3 ^ 2)) / A' W" y2 ?7 w$ `, G, D
  21. F = -X1 ^ 2 - B * Y1 ^ 2 - C * X1 * Y1% n; u0 D8 A0 m2 H) M7 X
  22. If C = 0 Then
    9 Z: [% S; H. U
  23. If B > 0 And F < 0 Then
    ' @  n( W3 i# D5 }
  24. Ang = 07 [- i  S, [- O, f/ J% D
  25. R1 = Sqr(-F)
    9 d$ ^' v# h3 i% P9 ]- y' b. p# m: O
  26. R2 = Sqr(-F / B)
    1 m3 y* V2 W) M
  27. Else
    ) h" V" x1 s9 g8 B" \  p$ O
  28. Exit Sub
    - y5 N3 _5 X0 F* J* U0 V4 `
  29. End If5 Y; I# L" H+ `1 b; Z# i! q- \
  30. Else- l4 }! ]9 ~+ _' u9 h
  31. If B = 1 Then) A: ?; \+ S6 T3 [5 L' o  V1 U
  32. If F < 0 And C > -2 And C < 2 Then% O$ ~; f  B4 x$ O1 J  v" m
  33. Ang = .Utility.AngleToReal(45, acDegrees)' {6 ~2 F. N  a; G' O$ E8 ^
  34. R1 = Sqr(-2 * F / (2 + C))3 ^; q+ }6 w; k1 g7 H: J1 r
  35. R2 = Sqr(-2 * F / (2 - C))
    5 S: v9 x; F" R2 r
  36. Else
    " }8 l5 B" f3 a! b* O% `
  37. Exit Sub
    * |7 \6 w% _* ]( e/ o4 @' Q/ j
  38. End If& ~1 A1 d1 P2 a3 v
  39. Else7 f0 i4 [5 T! C) i$ m
  40. Ang = Atn(C / (1 - B)) / 2% T& x1 u* ?' V. q4 Z3 l! i
  41. If Ang < 0 Then Ang = Ang + .Utility.AngleToReal(90, acDegrees)
    / f& N7 `* G) `7 U4 k$ T$ y
  42. If B > -1 And F < 0 And C > -(1 + B * Tan(Ang) ^ 2) / Tan(Ang) And C < (B + Tan(Ang) ^ 2) / Tan(Ang) Or _
    3 m! \, a6 q! o) }9 o
  43. B < -1 And F > 0 And C > (B + Tan(Ang) ^ 2) / Tan(Ang) And C < -(1 + B * Tan(Ang) ^ 2) / Tan(Ang) Then! K( p# e) s, j2 c' S: ?, q4 r
  44. R2 = -F * (1 + Tan(Ang) ^ 2)# R: z5 w7 I. Q5 H
  45. R1 = Sqr(R2 / (1 + B * Tan(Ang) ^ 2 + C * Tan(Ang)))' i8 G( _; O+ t$ x# s
  46. R2 = Sqr(R2 / (B + Tan(Ang) ^ 2 - C * Tan(Ang)))8 V. Z0 v* U" b/ W/ b4 }; X
  47. Else
    - l4 S3 I5 j* b) h% W9 D3 Z: R
  48. Exit Sub
    ! U* v7 z% a& Q& W# e1 f- O4 h
  49. End If
    # ]0 s% R! T, g( k
  50. End If! J$ e0 ?: I! R
  51. End If
    2 y5 f8 I" h# n7 O
  52. Else
    # h+ `6 e3 R4 y* D& S0 ]9 J
  53. Exit Sub- {; Y  C" J# Y- |3 I' x5 |
  54. End If
    # o& ?" }0 V1 `# V
  55. If R2 < R1 Then/ e0 ?% E4 d0 }4 u
  56. .ModelSpace.AddEllipse P1, .Utility.PolarPoint(P0, Ang, R1), R2 / R19 [: `  P! D6 o' J
  57. Else
    : p# x% r, S) G5 a6 u
  58. .ModelSpace.AddEllipse P1, .Utility.PolarPoint(P0, Ang + .Utility.AngleToReal(90, acDegrees), R2), R1 / R2. W4 H+ V' `' N% T! L% T0 i
  59. End If: i* \( z1 ?" {/ F7 y* o5 K2 R
  60. End With
      H& F4 m) M; {. N. v
  61. 10 End Sub
复制代码

评分

参与人数 1三维币 +10 收起 理由
2005llnn + 10 技术讨论

查看全部评分

发表于 2015-1-19 14:23:08 | 显示全部楼层 来自: 中国湖北黄冈
已知椭圆的中心点,将3点代入椭圆的一般方程,用解析几何的方法计算即可。
发表于 2015-1-19 19:43:35 | 显示全部楼层 来自: 中国辽宁营口
本帖最后由 woaishuijia 于 2015-1-19 23:24 编辑
; o- n, I# c3 B( H8 d, A2 P* ~# F; O5 l
再来个LISP
  1. (defun c:c3pe# l4 U& d. D9 W# i. ]
  2.        (/ old p0 p1 p2 p3 p4 x1 y1 x2 y2 x3 y3 a b c f ang r1 r2)9 G4 W9 H, r3 {$ z
  3.   (setvar "CMDECHO" 0)
    ) q9 @" z: v) [' }# |
  4.   (setq p0 (list 0 0 0)- i* c; V0 ^# ], A* H! a
  5. p1 (getpoint "\n 指定中心点:")0 z4 n. x. I4 M
  6. p2 (getpoint "\n 指定第一点:")
    & V% l$ U+ \2 i2 u3 O8 \8 ]
  7. p3 (getpoint "\n 指定第二点:")
    4 F& x/ q5 {! t5 ~' v$ U% T
  8. p4 (getpoint "\n 指定第三点:")
    + F9 v' H6 e: V! r- ~; v" `( r
  9. a  (car p1)0 _# e- i# R) m
  10. b  (cadr p1): u7 b( Q7 @' A8 y6 q% f" _
  11. x1 (- (car p2) a)- v4 L$ }) x4 E: o- ~$ C) t( E# ?2 n. t
  12. y1 (- (cadr p2) b)" R2 F' g) N2 z. U
  13. x2 (- (car p3) a)" G# ]5 g( K$ Y# H8 K
  14. y2 (- (cadr p3) b)6 s$ e1 N- w9 \2 C- E: ^
  15. x3 (- (car p4) a)
    ( l1 \8 ?+ i- q( u# s. \# k1 x
  16. y3 (- (cadr p4) b)+ o% z) e& F1 n/ d
  17. a  (- (* (- (* x1 y1) (* x2 y2)) (- (* y1 y1) (* y3 y3)))( ]3 p8 G7 X+ B7 O5 j. Z
  18.        (* (- (* x1 y1) (* x3 y3)) (- (* y1 y1) (* y2 y2)))
      T! S# @- y8 ^9 @: j5 t0 p$ y
  19.     )2 n) u4 E3 x1 C7 m3 {! }
  20.   )6 I5 K& F$ ?1 c5 E1 F- N
  21.   (if (/= a 0.0)
    : o7 F5 m- l! W3 A. H! a, |9 V/ w
  22.     (progn
    : u  G% v- r9 f( R
  23.       (setq b (/ (- (* (- (* x1 x1) (* x2 x2)) (- (* x1 y1) (* x3 y3)))& u6 F1 T. C- j6 H8 t
  24.       (* (- (* x1 x1) (* x3 x3)) (- (* x1 y1) (* x2 y2)))
    8 n9 _1 k0 D: P( `; d
  25.    )
      c+ w" \& m% [& M6 X5 b/ K+ H
  26.    a
    & U' P: i+ [1 C
  27.        )
    + L5 ^* N& A8 J0 s# R
  28.      c (/ (- (* (- (* x1 x1) (* x3 x3)) (- (* y1 y1) (* y2 y2)))
    ) `# M* M' I! L
  29.       (* (- (* x1 x1) (* x2 x2)) (- (* y1 y1) (* y3 y3)))
    0 [% X3 w) k- [
  30.    ): D) Y5 E, H* N, p6 G! |  I5 Y" `
  31.    a
    - e8 P4 b9 D: R* I( B- C' S5 |/ T
  32.        )
    * e7 [; }& k0 ?; K4 N2 t2 T/ l( I
  33.      f (- 0 (* x1 x1) (* b y1 y1) (* c x1 y1))
    ' U( N: x4 M" }
  34.       )
    . n# h1 w/ g  n  Z( u+ v
  35.       (if (zerop c)
    ! R1 l; M0 `, ]! O. E# _, I" s
  36. (if (and (> b 0.0) (< f 0.0))
    & g& M, p7 N- I) K# _  ?9 h- G
  37.    (setq ang 0.0
    ! ~& S6 q. T( w' {) M7 w$ f8 e
  38.   r1  (sqrt (- 0 f))2 h$ g0 z! B: F4 v' c1 g* n
  39.   r2  (sqrt (- 0 (/ f b)))2 }6 v8 u# r8 E$ q
  40.    )9 n, q# o) r7 q0 D
  41. ); ?' N4 S1 o! ?; @/ w; d+ s
  42. (progn- B3 |4 G2 c' W* y4 G
  43.    (if (= b 1.0), Z: A% R5 ]& _8 Z
  44.      (if (and (< f 0.0) (> c -2.0) (< c 2.0))
      w: B! }7 Y" |# [- B; t7 M3 V
  45.        (setq ang (/ pi 4)9 A) |: _' S2 p% N
  46.       r1 (sqrt (* -2 (/ f (+ 2 c))))6 |, a! P! l7 s1 s
  47.       r2 (sqrt (* -2 (/ f (- 2 c))))  p) x; }$ X+ n. h" y9 J/ d0 H; }$ O
  48.        )( M7 J5 l6 N" Y
  49.      ); O1 t( y* J% R$ y. S  i
  50.      (progn
    ( Y# L1 w2 s: F8 M# H+ R; t/ \. {
  51.        (setq ang (/ (atan (/ c (- 1 b)))# S0 c+ }/ C0 u
  52.       2* H7 }6 O+ I" m) U- n! z+ @
  53.    )
    4 r$ Z, W5 \) x, f  n
  54.        ); I" H8 P& f7 I" A( V5 Y/ _
  55.        (if (< ang 0.0)# [0 o; r8 x; j& A& M
  56.   (setq ang (+ ang (/ pi 2)))
    9 l; b, @/ n7 C
  57.        )/ V, |. h' i* ~( N3 P7 ^5 a) ~
  58.        (setq a (/ (sin ang) (cos ang)))( c# V* \0 U8 G5 Z- H
  59.        (if (or (and (> b -1.0)
    " Z, @5 F! I2 {
  60.       (< f 0.0)
    / e  u1 P# ?" `3 j# h3 ~
  61.       (> c (/ (- -1.0 (* b (* a a))) a))
    0 j6 H" E7 y5 ?" g
  62.       (< c (/ (+ b (* a a)) a))
    & k2 K- w' r9 D% d$ {/ Q$ z: i
  63.         )
    ! \! s" R/ l# u& a
  64.         (and (< b -1.0)
    - W' _  d$ }, P# A+ F8 v7 p  C
  65.       (> f 0.0)
    + a& k& q4 h, {! S
  66.       (> c (/ (+ b (* a a)) a))
    4 C1 W5 I+ \  @$ ^9 }! A; M8 K% p$ g( [
  67.       (< c (/ (- -1.0 (* b (* a a))) a))
    & b- Z- o* ]/ R  t3 N/ f" H
  68.         )1 K+ C: H- O0 ~3 i: |
  69.     ); E# e3 L7 ?5 j. D; m/ b4 b' x
  70.   (setq r2 (* -1 f (1+ (* a a)))
    ' n5 `5 f2 k7 m
  71.         r1 (sqrt (/ r2 (+ 1 (* b a a) (* c a))))
    - y7 U/ X0 p/ m) k" d# O
  72.         r2 (sqrt (/ r2 (- (+ b (* a a)) (* c a))))8 u" O% t$ t7 C7 U
  73.   )+ W+ y$ C6 K; c. K) P) T4 e! f
  74.        )/ R# \4 C$ b9 J! U
  75.      )
    5 u4 F6 r+ Z2 ]3 h! Z; n' v- k8 N
  76.    )
    % v. }8 U6 J+ ~8 q
  77. )5 `8 Q# o# `# x* z
  78.       )
    $ q) h2 S$ ~* s. z7 Z6 l' C" o3 s
  79.     )# r6 ]- f" f3 K& L
  80.   )
    ! @- n0 u0 }; X) H  [
  81.   (if r1
    & I  }' _' r. o' `0 U$ }
  82.     (progn
    0 B# D2 \; A% N5 U  v" ?* ^' F
  83.       (setq old (getvar "OSMODE"))# p! |. M, v( y; k2 {0 F
  84.       (setvar "OSMODE" 0)! _+ m1 U. E) _8 o$ s: ~% Q& K
  85.       (command "ellipse"
    1 L; j& l- C7 u% L7 ^- x& O
  86.         "c"9 z* m; _8 v, y+ z2 C$ e
  87.         p12 v6 ?# M  S) k$ G  B# X0 Q
  88.         (polar p1 ang r1)7 W8 I4 ]5 R0 V" q' R; I
  89.         r2
    & o; ]9 j! R1 G" z
  90.       )
    . U' U8 R, i/ ?+ z# d% ~" F& g, r) T
  91.       (setvar "OSMODE" old)
    0 V3 f+ b' ^. R7 f
  92.     )4 _# Q. n1 E% z$ _
  93.   )
      x1 J! S3 l! Y6 b
  94.   (princ)5 Y& M$ p" r/ |! ~1 K- m
  95. )
复制代码

点评

这是什么?代码?用于CAD?  详情 回复 发表于 2018-3-15 10:26

评分

参与人数 1三维币 +10 收起 理由
2005llnn + 10 技术讨论

查看全部评分

 楼主| 发表于 2015-1-19 20:34:06 | 显示全部楼层 来自: 中国北京
tangcarlos3d 发表于 2015-1-19 14:23 static/image/common/back.gif
7 `0 K( u+ Z7 V- J8 n' Q. d已知椭圆的中心点,将3点代入椭圆的一般方程,用解析几何的方法计算即可。

, h( V. C+ |) s- E可以不解方程,有纯几何方法解的(指能作出椭圆的长短轴的方向与长度)。
 楼主| 发表于 2015-1-19 20:45:01 | 显示全部楼层 来自: 中国北京
本帖最后由 gongwen0519 于 2015-1-19 20:55 编辑 ' z# p% u6 S& n2 O( v6 W
woaishuijia 发表于 2015-1-19 19:43 static/image/common/back.gif
. p8 }2 p0 r6 C( Q( }2 V! P再来个LISP

2 K1 L- a& w5 \  q( C: c* g2 r4 q; s# Y
woaishuijia版主,劳驾您将两个程序的文本文件打个压缩包吧(三维网论坛的网页代码复制每行后都带乱码,手工复制或清理太费时间),谢谢。。
! g! p% Y4 {- S
1 B; N* g$ N  D0 m' ~! l. B  l看来大家和曾经的楼主一样,看到圆锥二次曲线就生威蹙眉。- y7 s* @4 t4 Y. p
( B9 x1 k- I# j/ a: l3 M9 d
如果用尺寸约束与驱动,把椭圆约束到这些参数上也是可以的呀。# E, c' K3 A6 ?, I( q6 f2 `
4 N+ w4 d# B" _& ~
谢谢woaishuijia版主的VBA与lsp,今后工作中我就用您的程序了。2 N( j0 l- u: p9 ]) C
- m" `4 ?6 t. N2 C' L  k; a) F# T& z
为增加活跃一下的气氛,我还是稍后整理公布一下过程不是“很”复杂的几何作法吧。
发表于 2015-1-19 22:02:32 | 显示全部楼层 来自: 中国辽宁大连
能给出长轴和短轴的公式吗?和水平角度的计算
发表于 2015-1-19 23:10:51 | 显示全部楼层 来自: 中国辽宁营口
本帖最后由 woaishuijia 于 2015-1-19 23:25 编辑
( ?1 o! G9 M4 G8 m; o' C5 p
gongwen0519 发表于 2015-1-19 20:45 http://www.3dportal.cn/discuz/static/image/common/back.gif" q+ I2 h7 H- G
woaishuijia版主,劳驾您将两个程序的文本文件打个压缩包吧(三维网论坛的网页代码复制每行后都带乱码, ...

# S! T" i4 y8 s. ^3 H, O* `9 e( K0 D& _7 N4 ^
C3PE.rar (4.96 KB, 下载次数: 24)
 楼主| 发表于 2015-1-20 00:04:33 | 显示全部楼层 来自: 中国北京
lisc2000 发表于 2015-1-19 22:02 static/image/common/back.gif
9 w- ?+ B' b9 B, `" S能给出长轴和短轴的公式吗?和水平角度的计算
5 `, v7 S% d: }. O5 z
已经整理好一种几何解法:5 G  l4 n/ E$ J1 W' c
# w' S! P/ S1 v) I4 H$ y( `! j  o
前面的说明:2 Z) C9 Q; p# ?9 X% [* s9 Q
! q6 c/ p( ~% i- }+ I9 n! R% M& X
d001.png
1 I$ [8 n+ U; \. g
$ L  }# Y8 g+ |. ~作图过程:
/ c5 c; w1 {8 ?  w7 N3 R" _5 a% E3 Q6 K% V( u$ O) e, [5 u; s( y
d002.png & o$ t" g8 l  k2 x3 d) F

$ f% y; p/ k6 w/ p d003.png 3 V/ P1 F5 Q6 Z. I0 s
下图是OP的作法:$ W' E% u. J! w/ ^! k9 |" ~+ Y* z
d004.png ( \  _/ D) `3 M7 q4 ?; K
最后完成椭圆的长短半轴:
# k0 C2 _+ F4 D' p3 {0 l  _8 h
9 `7 n) ~( \% I: t! I: P d005.png ; ~4 a: E& G0 H9 ~  F' x, }
3 z4 L7 k& g* V: y( b) R4 \3 g3 j
3 ~& R4 s1 [' M* `1 b

评分

参与人数 1三维币 +30 收起 理由
2005llnn + 30 技术分享

查看全部评分

 楼主| 发表于 2015-1-20 00:11:41 | 显示全部楼层 来自: 中国北京
woaishuijia 发表于 2015-1-19 23:10 static/image/common/back.gif
- o3 }: v9 P$ Z' x: D$ f/ r
谢谢,收藏了。
发表于 2015-1-20 13:46:59 | 显示全部楼层 来自: 中国天津
学习了。     
发表于 2018-3-15 10:26:44 | 显示全部楼层 来自: 中国浙江宁波
woaishuijia 发表于 2015-1-19 19:431 H% B) |1 }. [: P9 f: \$ T
再来个LISP

, g. `, r) Y6 Y8 q* s这是什么?代码?用于CAD?

点评

是的。AutoCAD是一款极为优秀的二次开发平台软件,支持多种(比如C、.net、LISP、VBA、脚本)编程工具(语言)。用户可用其创制属于自己的个性化命令。一些常见的国产CAD软件(如PCCAD、开目、机械工程师等)就是在  详情 回复 发表于 2018-3-15 17:31
发表于 2018-3-15 17:31:39 | 显示全部楼层 来自: 中国北京
小草包 发表于 2018-3-15 10:26
% y! W9 Q: @) M' X4 P; V这是什么?代码?用于CAD?

! J; Y% I% W# _% u$ _. t是的。AutoCAD是一款极为优秀的二次开发平台软件,支持多种(比如C、.net、LISP、VBA、脚本)编程工具(语言)。用户可用其创制属于自己的个性化命令。一些常见的国产CAD软件(如PCCAD、开目、机械工程师等)就是在这个平台上二次开发的绘图软件产品。本帖的二楼、四楼就是针对楼主所提问题,分别用VBA和LISP编写的“已知中心及其上三点作椭圆”命令的程序代码。八楼附件是包含程序的工程文件,在AutoCAD绘图界面的“工具”菜单下使用相应的命令加载工程文件后,就可以像平时使用CAD命令画直线、画圆一样,使用这个自制命令,根据已知中心及其上三点画出椭圆了。
发表于 2018-3-15 20:02:56 | 显示全部楼层 来自: 中国浙江宁波
TOPSOLID
1 b1 [+ h+ D: g, H3 K  s* u5 N用中心点加圆上两点即可

点评

做不到。结果不唯一。再增加一个条件才可以,比如轴方向或椭圆上的另一个点。  详情 回复 发表于 2018-3-16 05:11
发表于 2018-3-16 05:11:36 | 显示全部楼层 来自: 中国北京
JCKFC1997 发表于 2018-3-15 20:02" u, \' _4 w6 ~' J3 y
TOPSOLID # {5 t1 j" u+ I' i
用中心点加圆上两点即可

$ ~* E9 M6 c% c/ c( p! k做不到。结果不唯一。再增加一个条件才可以,比如轴方向或椭圆上的另一个点。
发表于 2018-3-22 17:16:50 | 显示全部楼层 来自: 中国浙江宁波
可以吼出来啊% C& P  x) q6 ]( a% y% x% E9 t" a

可以

可以

点评

已经说过了,根据椭圆中心和其上两点,不能确定一个椭圆。如果只有这三个条件,可以画出无数个椭圆。你画了其中的一个,说明不了任何问题。 下图是根据相同的条件随便画的几个,自己看。  详情 回复 发表于 2018-3-27 00:41
发表于 2018-3-27 00:41:25 | 显示全部楼层 来自: 中国北京
本帖最后由 woaishuijia 于 2018-3-27 00:42 编辑
* t3 Z! e( F- G
JCKFC1997 发表于 2018-3-22 17:16" \: V3 W3 z3 C+ ~  X0 D* _
可以吼出来啊

1 \1 @; n* g  |已经说过了,根据椭圆中心和其上两点,不能确定一个椭圆。如果只有这三个条件,可以画出无数个椭圆。你画了其中的一个,说明不了任何问题。& r, _- ~& b- S% k8 o. ]. q
下图是根据相同的条件随便画的几个,自己看。2 l  G# K- b( C8 ^8 s
8 l" u5 ?& R2 d
捕获.PNG
发表于 2018-11-11 09:32:10 | 显示全部楼层 来自: 中国广东佛山
下载个程序用用。
发表于 2018-12-3 09:59:14 | 显示全部楼层 来自: 中国辽宁
woaishuijia 发表于 2015-1-19 12:32
9 Q. P1 l# H. w: K6 k怎么没人回呢?
% e/ e8 K4 a$ W6 ~3 o
请教一下版主,现在CAD编程方面,学习LISP和VBA各有什么优缺点?初学想学习编程,想询问一下版主学习哪个更合适一些?

点评

简单说,VBA是微软的东西,是建立在VB(可视化Basic,一种面向WINDOWS系统的图形化编程工具)基础上的面向对象的编程工具,通过图形界面和代码操纵CAD的内核。它的编程界面很友好,特别是程序中需要使用用户窗口或对  详情 回复 发表于 2018-12-5 23:23
发表于 2018-12-5 23:23:13 | 显示全部楼层 来自: 中国北京
kuangben8 发表于 2018-12-3 09:59+ C1 j* o, ~: h" ?4 N& t2 H6 Y
请教一下版主,现在CAD编程方面,学习LISP和VBA各有什么优缺点?初学想学习编程,想询问一下版主学习哪个 ...
4 z) |. L. m1 ^! |# T
简单说,VBA是微软的东西,是建立在VB(可视化Basic,一种面向WINDOWS系统的图形化编程工具)基础上的面向对象的编程工具,通过图形界面和代码操纵CAD的内核。它的编程界面很友好,特别是程序中需要使用用户窗口或对话框时很方便。但它是使用上一代WINDOWS核心技术(.COM)的,现在微软已经停止了对它的更新。LISP是一种“表语言”,属于比较古老的东西了,流行于当年没有WINDOWS,甚至没有操作系统的年代。只有纯粹的代码,没有图形界面。但它是欧得克公司自己的产权(收购的),相信只要AutoCAD软件还活着,这种语言就死不了。LISP又分为LISP和VLISP,LISP是直接调用CAD前台命令,编程过程和画图过程很相似。VLISP增加了对CAD内核的调用——相当于间接使用VBA,但没有VBA的图形界面。对于能够熟练使用CAD画图,但没有编程基础的童鞋来说,LISP更容易上手,可以先学它。如果需要,以后再学VBA或VLISP(二者是相通的)。

评分

参与人数 1三维币 +5 收起 理由
2005llnn + 5 感谢您解答了求助的问题。

查看全部评分

发表于 2018-12-8 18:04:39 | 显示全部楼层 来自: 中国
woaishuijia 发表于 2018-12-5 23:23
3 H3 i- N4 H8 n' q* {6 [/ A简单说,VBA是微软的东西,是建立在VB(可视化Basic,一种面向WINDOWS系统的图形化编程工具)基础上的面 ...
- }0 S0 d2 h( `: H4 k) ^$ f
好的,感谢版主大大。。。我初学了EXCEL的编程,感觉还可以,所以就想结合CAD编程,尝试在借助excel中的数据,自动完成在CAD中的绘图。不知道这个想法是否可以实现?

点评

EXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编程简直易如反掌。而且VBA的一大优势就是在支持VBA的软件之间交换数据,所以你说的“借助excel中的数据,自动完  详情 回复 发表于 2018-12-8 20:33
发表于 2018-12-8 20:33:32 | 显示全部楼层 来自: 中国北京
kuangben8 发表于 2018-12-8 18:04, N' K4 W. A3 f) s) P7 _" u$ P
好的,感谢版主大大。。。我初学了EXCEL的编程,感觉还可以,所以就想结合CAD编程,尝试在借助excel中的 ...
5 R6 }4 ]; T# ~% B, _
EXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编程简直易如反掌。而且VBA的一大优势就是在支持VBA的软件之间交换数据,所以你说的“借助excel中的数据,自动完成在CAD中的绘图”就是自然而然的事。
发表于 2018-12-8 21:17:27 | 显示全部楼层 来自: 中国
woaishuijia 发表于 2018-12-8 20:33
) U) S. E6 E! H0 M$ PEXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编 ...

6 w$ P- z& x  j4 ~. }6 x; N好的,感谢版主大大!给了我很大的信心!
发表于 2019-1-29 12:43:15 | 显示全部楼层 来自: 中国辽宁
woaishuijia 发表于 2018-12-8 20:33( w- Q9 V- \1 Z% @) y2 ~" i
EXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编 ...
: I0 i" M0 ~! l4 K; e
老师啊!CAD的VBA没有录制宏功能啊?而且外安装的VBA模块帮助文件全是英文版的!和OFFICE的VBA相比较,麻烦多了!没有录制宏,我该怎么学习CAD的VBA呢?

点评

把邮箱给我  详情 回复 发表于 2019-1-30 22:13
发表于 2019-1-30 22:13:09 | 显示全部楼层 来自: 中国北京
kuangben8 发表于 2019-1-29 12:43, K/ U% _3 o3 d, J
老师啊!CAD的VBA没有录制宏功能啊?而且外安装的VBA模块帮助文件全是英文版的!和OFFICE的VBA相比较,麻 ...

  N" `. E% O. }/ M把邮箱给我
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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