QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 7500|回复: 32
收起左侧

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

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

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

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

x
本帖最后由 gongwen0519 于 2015-1-14 00:21 编辑 - C# h" x& Z" |
' ~! L- S* F# t3 u; a) J
本题是继这个http://www.3dportal.cn/discuz/fo ... ead&tid=1449246【作出最长值(不限软件)】帖子而来,该帖椭圆中心可知,同时也可以随便得到椭圆上的三点。
  W" ?  z8 V. h# T+ q
+ L; k" ^! s- t; n) b* x几何作图作出OX、OY的方向与长度即可,ACAD则画出整个椭圆:
' `. B/ b9 X% p8 G* [6 g. ^5 X
) [0 V. h) ~# {* Q5 F(这类问题在工程实际中很实用。)) ]) |6 H9 U7 u
! f7 b& h3 x$ `9 j8 ^8 _1 M2 P8 h
tuoyuan.png   l: r! p+ K2 w) D( O- y: D

评分

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

查看全部评分

发表于 2015-1-19 12:32:28 | 显示全部楼层 来自: 中国辽宁抚顺
怎么没人回呢?
  1. Sub C3PE()
    * y% G* a4 ^( N+ u3 a5 Z
  2. Dim P0(2) As Double, P1 As Variant, P2 As Variant, P3 As Variant, P4 As Variant
    ( W5 o2 O2 y; h
  3. Dim X1 As Double, Y1 As Double, X2 As Double, Y2 As Double, X3 As Double, Y3 As Double
    ' U5 D6 R' Y) O& Y" M+ d* s. n7 }
  4. Dim A As Double, B As Double, C As Double, F As Double, Ang As Double, R1 As Double, R2 As Double
    8 H$ F+ o7 F# N. N3 b
  5. On Error GoTo 10: x" M" d* q) V
  6. With ThisDrawing
    & ]: S% B. B- v5 Z0 v. r( m# [7 r+ f
  7. P1 = .Utility.GetPoint(, "指定中心点"), r, \" c* Y& D  i) V; R
  8. P2 = .Utility.GetPoint(, "指定第一点")* \; {; w5 S1 F2 V  J
  9. P3 = .Utility.GetPoint(, "指定第二点")
    ( [3 d9 {8 L. k9 U8 y& R  n
  10. P4 = .Utility.GetPoint(, "指定第三点")
    1 l9 P6 c6 M+ R8 t
  11. X1 = P2(0) - P1(0), ?2 ^. Z" ~, M8 a0 T6 o  \3 I
  12. Y1 = P2(1) - P1(1)$ S; V2 q. l0 N4 S. }  l6 S
  13. X2 = P3(0) - P1(0)& O& x, I) q: S' G5 O3 r
  14. Y2 = P3(1) - P1(1)
    " K. `+ `- a9 [! g5 ]. Z8 A0 |- a: I
  15. X3 = P4(0) - P1(0)/ U+ e1 o6 w- D2 C/ g* j
  16. Y3 = P4(1) - P1(1): J& J2 _' p: j; x- q7 ]* r" a
  17. A = (X1 * Y1 - X2 * Y2) * (Y1 ^ 2 - Y3 ^ 2) - (X1 * Y1 - X3 * Y3) * (Y1 ^ 2 - Y2 ^ 2): N$ H& Y( \5 ~/ @2 q9 A
  18. If A <> 0 Then
    + P+ m; q* o+ J
  19. B = ((X1 ^ 2 - X2 ^ 2) * (X1 * Y1 - X3 * Y3) - (X1 ^ 2 - X3 ^ 2) * (X1 * Y1 - X2 * Y2)) / A
    $ U# c: T# {( q: m
  20. C = ((X1 ^ 2 - X3 ^ 2) * (Y1 ^ 2 - Y2 ^ 2) - (X1 ^ 2 - X2 ^ 2) * (Y1 ^ 2 - Y3 ^ 2)) / A. P% ^: w3 M$ d5 k$ r, y# N
  21. F = -X1 ^ 2 - B * Y1 ^ 2 - C * X1 * Y1" z' D  l& Z+ Q2 e, C
  22. If C = 0 Then6 o# B) m! W) [
  23. If B > 0 And F < 0 Then$ ^, ^* |# @" ^+ E: {7 b2 T2 q
  24. Ang = 0
    & Y0 c: f0 I& k# r$ C% `1 |* i) p
  25. R1 = Sqr(-F)! k/ e0 A  A0 ?+ T' z! z
  26. R2 = Sqr(-F / B)
    * [: E- g' d6 n, ~6 @
  27. Else1 {) O2 e  g! f: W, X
  28. Exit Sub
    ( w' D( p8 }- N  n3 v+ L+ Z- w/ w
  29. End If
    * V" q' Z2 A& U8 D
  30. Else0 Q1 X9 J! T5 m% v# U8 i) X5 n" {
  31. If B = 1 Then. n8 p- ]7 {6 q3 x* F  Z; [% l) S0 G
  32. If F < 0 And C > -2 And C < 2 Then5 ~/ X) b5 `5 [5 p  z
  33. Ang = .Utility.AngleToReal(45, acDegrees)
    6 R' F2 @& V/ L9 c4 e% j* }8 f
  34. R1 = Sqr(-2 * F / (2 + C))' c- v$ w+ f  E1 J# n% s
  35. R2 = Sqr(-2 * F / (2 - C))
    : g5 X& Y0 g1 K2 H0 ]% u+ h- {8 N) S
  36. Else
    7 M) r# g3 q* s$ B$ f* F9 L; E
  37. Exit Sub% f& w" ~  m; v$ p
  38. End If. m' S) a6 e* x+ B9 w
  39. Else
    / R& ^! j1 U- [5 q: ~
  40. Ang = Atn(C / (1 - B)) / 2
    $ |9 \5 ^* ]: D$ U' [
  41. If Ang < 0 Then Ang = Ang + .Utility.AngleToReal(90, acDegrees)# X, _  {/ L1 u4 t% q& |4 Y2 ?
  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 _7 T: p! P! s( w% d+ u1 J/ E
  43. B < -1 And F > 0 And C > (B + Tan(Ang) ^ 2) / Tan(Ang) And C < -(1 + B * Tan(Ang) ^ 2) / Tan(Ang) Then
    0 H6 a2 |9 T7 S1 i0 l2 m1 B# R
  44. R2 = -F * (1 + Tan(Ang) ^ 2)
    . K, x) t2 [7 t/ G" N2 D3 ^
  45. R1 = Sqr(R2 / (1 + B * Tan(Ang) ^ 2 + C * Tan(Ang)))
    & ~6 g2 q8 k+ z1 t# R9 R' i
  46. R2 = Sqr(R2 / (B + Tan(Ang) ^ 2 - C * Tan(Ang)))1 B- h+ |0 p; I, I5 G( z, G  A# ?0 G
  47. Else, t" b9 M$ L2 g* [$ V/ E
  48. Exit Sub
    ' Q* k, r8 D: X! O5 ~$ X
  49. End If4 V! e' L. L3 x/ J; M& w) r
  50. End If
    3 ^8 `6 A) t- w5 S
  51. End If- |- o$ e9 Q  s8 y' Y' l
  52. Else
    # \; `. [* \) K% @* Z
  53. Exit Sub
    % T5 ?5 w" p; H5 L3 A
  54. End If- N. U" X5 ?2 F: T
  55. If R2 < R1 Then
    6 R$ T9 j& _) q: `$ q
  56. .ModelSpace.AddEllipse P1, .Utility.PolarPoint(P0, Ang, R1), R2 / R1- Z6 I. ^/ X0 t; }: m9 _
  57. Else
    8 x/ U; d6 N* ~
  58. .ModelSpace.AddEllipse P1, .Utility.PolarPoint(P0, Ang + .Utility.AngleToReal(90, acDegrees), R2), R1 / R2, i  B' Q$ \  X
  59. End If- {* ]1 v6 |% H& n% J; T0 C3 _: k
  60. End With
    ' w$ e, F2 p; ^6 Q& A; A4 \
  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 编辑
! {8 I; K* J4 f! W! o2 m
! j3 H# j2 J# w  V) {4 U5 B- ^再来个LISP
  1. (defun c:c3pe3 P$ T6 d; x7 T/ |9 ~; k7 `
  2.        (/ old p0 p1 p2 p3 p4 x1 y1 x2 y2 x3 y3 a b c f ang r1 r2)
    ( s: L/ x% G' Y8 v/ [' A( ~
  3.   (setvar "CMDECHO" 0)2 g8 D& M* A: I$ o) k3 m
  4.   (setq p0 (list 0 0 0)
    # {( o4 }/ k% m: p- d% P: H4 ~) {) H
  5. p1 (getpoint "\n 指定中心点:")
    8 _' d- ]. T9 m6 m+ L2 H5 N- j" I/ q
  6. p2 (getpoint "\n 指定第一点:")
    + y: Y9 y" H7 T1 t8 H1 Q2 Y
  7. p3 (getpoint "\n 指定第二点:"), a' w5 W3 m) C) j
  8. p4 (getpoint "\n 指定第三点:")
    ! M. I1 u/ X0 ^3 d' j1 [
  9. a  (car p1)
    3 l# S. }6 {; _1 m
  10. b  (cadr p1)" s; E5 E! `  B. c/ D  t7 t  \
  11. x1 (- (car p2) a)4 `* r. M3 R+ `& R
  12. y1 (- (cadr p2) b)
    ( _0 o6 A$ i2 ~* C- j: Y
  13. x2 (- (car p3) a)' x! @7 x: Z) O% U+ [" ?
  14. y2 (- (cadr p3) b)3 e4 |/ X0 S0 A  t- n. j, O& |8 e
  15. x3 (- (car p4) a)
    + L* i2 a: _- y# O, M7 q5 C
  16. y3 (- (cadr p4) b)  Q$ e9 O6 c8 W& u+ [7 _
  17. a  (- (* (- (* x1 y1) (* x2 y2)) (- (* y1 y1) (* y3 y3)))
    & z1 O- x- P/ h, F- I, {
  18.        (* (- (* x1 y1) (* x3 y3)) (- (* y1 y1) (* y2 y2)))0 s3 h4 W  D6 B6 {) ]
  19.     )
    0 ^  d- G3 y, K( t' O1 ?4 e
  20.   )
    + D4 J7 S; s* Z% I& Q
  21.   (if (/= a 0.0)& Y3 L2 J7 }' Y' h' F
  22.     (progn
    , u. B; j: c4 }% j
  23.       (setq b (/ (- (* (- (* x1 x1) (* x2 x2)) (- (* x1 y1) (* x3 y3)))' g2 l8 D9 z" c
  24.       (* (- (* x1 x1) (* x3 x3)) (- (* x1 y1) (* x2 y2)))' x$ y' E( }5 ]; y
  25.    )' r4 ^' c; n, [
  26.    a' g" g" N& C* Y8 n4 Q6 v( a/ G
  27.        )7 j; X8 ~3 ^# P7 B1 x: q/ W
  28.      c (/ (- (* (- (* x1 x1) (* x3 x3)) (- (* y1 y1) (* y2 y2)))3 B8 Y. I* N& O4 Y6 t
  29.       (* (- (* x1 x1) (* x2 x2)) (- (* y1 y1) (* y3 y3)))0 @' v/ Z5 ~! h- ^' S
  30.    )
    " E9 _5 {: j+ W! M; X
  31.    a* y' a6 r4 `1 p9 ]" B
  32.        )
    7 j- A  g& `9 S9 [" m
  33.      f (- 0 (* x1 x1) (* b y1 y1) (* c x1 y1))+ ~; c! S  V% c, p
  34.       )" h6 B& Z! r! S! l
  35.       (if (zerop c)
    - ~: ~& z' c& L" D8 ^
  36. (if (and (> b 0.0) (< f 0.0))
    8 r' l  {" G+ x0 [( K* Y
  37.    (setq ang 0.07 q9 B' V, z" Q* W
  38.   r1  (sqrt (- 0 f))  y8 O" |: q* r
  39.   r2  (sqrt (- 0 (/ f b)))
    " R+ f8 L3 t2 F& W& q, U
  40.    )
    9 K& r# \5 s! G& H! ]
  41. )% w1 Z- q" {7 D; V- y5 F& l
  42. (progn9 f" ~2 D. I6 `
  43.    (if (= b 1.0)
    ) ^# X$ y7 R: {1 C) y# T
  44.      (if (and (< f 0.0) (> c -2.0) (< c 2.0))
    ) U4 w6 j% I: V* M% q& J
  45.        (setq ang (/ pi 4)
    ( R5 {0 E- A7 C1 R$ a( f. l
  46.       r1 (sqrt (* -2 (/ f (+ 2 c))))
    ( I& ^/ g: U% C/ s& N$ Q
  47.       r2 (sqrt (* -2 (/ f (- 2 c))))
      x$ O. P/ d7 [. p
  48.        )
    0 u% U) \8 L- p$ c
  49.      )0 q8 i( @& f% u( f  S3 B
  50.      (progn5 X3 U& L# [! t7 M
  51.        (setq ang (/ (atan (/ c (- 1 b)))0 p  O) z) m( g9 ^- T
  52.       29 @. T7 P) U0 U" g; n8 |% N+ Y
  53.    )
    # l) |1 b& f- j+ b- v( q
  54.        )
    1 ^" N8 D/ I' i+ c
  55.        (if (< ang 0.0)* @3 |' R4 q5 h; m; d
  56.   (setq ang (+ ang (/ pi 2)))8 P% `  n6 |5 M' o
  57.        )8 @" m9 j) L( ~
  58.        (setq a (/ (sin ang) (cos ang)))
    ' W8 I8 o. ^; ?  b% g4 p- Y2 [! h
  59.        (if (or (and (> b -1.0)
    3 `2 Z. Z/ y3 h8 T
  60.       (< f 0.0)
    % h4 W' G. A! V5 q" Y  n
  61.       (> c (/ (- -1.0 (* b (* a a))) a)). X6 y% l5 P1 s& V
  62.       (< c (/ (+ b (* a a)) a))
    1 b( }" ^! t9 ]- h9 z
  63.         ). Z& D' G& \  @/ R4 f; n
  64.         (and (< b -1.0)
      i0 {0 Z/ \9 f# U
  65.       (> f 0.0)
    ! y& e. U& y1 L( W. p
  66.       (> c (/ (+ b (* a a)) a))2 R/ G) h: B. J/ J8 }  g& E
  67.       (< c (/ (- -1.0 (* b (* a a))) a))* u6 i+ @# y6 V. n! U
  68.         )& z  J  w% u3 y% j5 h1 J
  69.     )) _# D. o' }2 j5 z- B+ @6 p- S
  70.   (setq r2 (* -1 f (1+ (* a a)))
    - {" {4 X/ B# i+ H* ~" Q2 _
  71.         r1 (sqrt (/ r2 (+ 1 (* b a a) (* c a))))' s1 ?1 ~+ p) o
  72.         r2 (sqrt (/ r2 (- (+ b (* a a)) (* c a))))# i& D, ~4 [; R& n5 r7 |# G0 d. o
  73.   )
    + ~" S3 }2 C7 d) y( a. m
  74.        )
    8 c0 n0 l" M& o3 d" H
  75.      )0 N. S- p* |0 N! M8 W4 O6 M
  76.    )
    9 b$ @  C& u- @
  77. ): @% U# r. h6 k( t
  78.       )7 H+ p6 U3 @; ]3 ?0 t
  79.     )
    / A) j, ]- }/ y5 e" u
  80.   )! G+ F7 j  i6 t+ M2 L8 Q
  81.   (if r1
    ( ^- k8 u3 J$ U3 g+ C
  82.     (progn- h; }! v+ r. T
  83.       (setq old (getvar "OSMODE"))
    ) @# ~1 o3 Y, F' i
  84.       (setvar "OSMODE" 0)$ ^  a7 B) P( ^  u1 d3 Y" v
  85.       (command "ellipse"
    " E. {; P! Z0 N  N: i* e
  86.         "c"$ W; _. N; k( ?# \
  87.         p1
    - o( E0 O6 v2 T! g2 {
  88.         (polar p1 ang r1)) _5 B. j( A  z
  89.         r20 j0 I2 b; h' f
  90.       )5 w0 B& _0 f: I' C# s* Q
  91.       (setvar "OSMODE" old)
    ( g1 J7 Z* e. C) c0 P$ w
  92.     )4 l# y' F6 U( R* ~
  93.   )
    + u- ]) R& @  s8 g; ?- X, h
  94.   (princ)
    : x( \  g3 @4 G) m2 v/ V$ _! A- [
  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
1 {  T$ `; w- s1 |. C5 V7 |已知椭圆的中心点,将3点代入椭圆的一般方程,用解析几何的方法计算即可。
" L! G, r& H$ V, N/ S* g+ _$ j
可以不解方程,有纯几何方法解的(指能作出椭圆的长短轴的方向与长度)。
 楼主| 发表于 2015-1-19 20:45:01 | 显示全部楼层 来自: 中国北京
本帖最后由 gongwen0519 于 2015-1-19 20:55 编辑
+ d: g$ j9 e& w: }
woaishuijia 发表于 2015-1-19 19:43 static/image/common/back.gif
/ F# F: `( l* M2 R) Y2 o7 Y  D再来个LISP
5 w% w6 }6 D, H+ r, l

/ f( `# X+ S; ^* B# ?: t% Swoaishuijia版主,劳驾您将两个程序的文本文件打个压缩包吧(三维网论坛的网页代码复制每行后都带乱码,手工复制或清理太费时间),谢谢。。3 H  ~/ M$ J, x
! {7 L" c+ Q  ]0 r9 c& Z+ e$ Z$ r
看来大家和曾经的楼主一样,看到圆锥二次曲线就生威蹙眉。
& n3 x) S. p( i, i& c' r7 W
; c9 q7 M! t% _+ g如果用尺寸约束与驱动,把椭圆约束到这些参数上也是可以的呀。9 u5 r) T, L( {

% c  w! x9 Y6 p谢谢woaishuijia版主的VBA与lsp,今后工作中我就用您的程序了。( M' @5 u! r& O( J/ h: i$ n* |" o

# b: S7 X/ g  I( j4 y为增加活跃一下的气氛,我还是稍后整理公布一下过程不是“很”复杂的几何作法吧。
发表于 2015-1-19 22:02:32 | 显示全部楼层 来自: 中国辽宁大连
能给出长轴和短轴的公式吗?和水平角度的计算
发表于 2015-1-19 23:10:51 | 显示全部楼层 来自: 中国辽宁营口
本帖最后由 woaishuijia 于 2015-1-19 23:25 编辑 , i: @" m- b* H$ j* v+ E4 Y, \: K
gongwen0519 发表于 2015-1-19 20:45 http://www.3dportal.cn/discuz/static/image/common/back.gif
+ y/ N7 \2 h. R; Bwoaishuijia版主,劳驾您将两个程序的文本文件打个压缩包吧(三维网论坛的网页代码复制每行后都带乱码, ...

; f, M8 g3 N% M" l% U* a
. t/ x$ Q1 f- K4 k% j3 v C3PE.rar (4.96 KB, 下载次数: 25)
 楼主| 发表于 2015-1-20 00:04:33 | 显示全部楼层 来自: 中国北京
lisc2000 发表于 2015-1-19 22:02 static/image/common/back.gif3 H* ]' z+ R0 P& ?. K* D$ F
能给出长轴和短轴的公式吗?和水平角度的计算
" g1 k+ G- z6 `- B0 e0 A% g
已经整理好一种几何解法:: D0 Z" x; e4 f) J% W+ Q- N8 ^1 L. O
/ C5 g7 a! m4 {+ A: t
前面的说明:
% B* N, V  H1 D) R& O/ I% O( l6 U9 n% ^6 a' c' g! _, q  i* Y
d001.png ; m4 I) {" g/ Z' r
( _  ?  \% Z( {: Z
作图过程:
) j5 V: _- j! F% M1 O' ]; [3 j6 m
8 U+ C0 q# t/ Q9 }$ H1 h; b( E d002.png
. R6 n5 O4 s  J" D
5 L" U. V0 O' [% r: b d003.png : T9 |* C8 L5 i) j+ t! C: E4 S$ }
下图是OP的作法:
! t8 R7 q/ Y- N d004.png ) A3 f2 e. _5 x& @: P: Z9 ^5 C
最后完成椭圆的长短半轴:; r" d. @( S# q+ N; m9 P# k

7 t+ @; O) G- Z' n4 z; [ d005.png / h, e  L' {8 U$ ]! a

2 o: c3 {: h3 ^' f3 q2 f
9 V5 _1 e0 L$ A* s

评分

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

查看全部评分

 楼主| 发表于 2015-1-20 00:11:41 | 显示全部楼层 来自: 中国北京
woaishuijia 发表于 2015-1-19 23:10 static/image/common/back.gif
, w1 ~$ J9 w+ g/ r
谢谢,收藏了。
发表于 2015-1-20 13:46:59 | 显示全部楼层 来自: 中国天津
学习了。     
发表于 2018-3-15 10:26:44 | 显示全部楼层 来自: 中国浙江宁波
woaishuijia 发表于 2015-1-19 19:43  F6 g8 i9 L/ W4 @
再来个LISP
  c5 P+ h+ m/ _1 U. b8 j9 ?
这是什么?代码?用于CAD?

点评

是的。AutoCAD是一款极为优秀的二次开发平台软件,支持多种(比如C、.net、LISP、VBA、脚本)编程工具(语言)。用户可用其创制属于自己的个性化命令。一些常见的国产CAD软件(如PCCAD、开目、机械工程师等)就是在  详情 回复 发表于 2018-3-15 17:31
发表于 2018-3-15 17:31:39 | 显示全部楼层 来自: 中国北京
小草包 发表于 2018-3-15 10:26
! H+ `7 D7 I2 b- G! _8 U! L- ?这是什么?代码?用于CAD?
6 a* o8 E' a, M6 ]$ l. E
是的。AutoCAD是一款极为优秀的二次开发平台软件,支持多种(比如C、.net、LISP、VBA、脚本)编程工具(语言)。用户可用其创制属于自己的个性化命令。一些常见的国产CAD软件(如PCCAD、开目、机械工程师等)就是在这个平台上二次开发的绘图软件产品。本帖的二楼、四楼就是针对楼主所提问题,分别用VBA和LISP编写的“已知中心及其上三点作椭圆”命令的程序代码。八楼附件是包含程序的工程文件,在AutoCAD绘图界面的“工具”菜单下使用相应的命令加载工程文件后,就可以像平时使用CAD命令画直线、画圆一样,使用这个自制命令,根据已知中心及其上三点画出椭圆了。
发表于 2018-3-15 20:02:56 | 显示全部楼层 来自: 中国浙江宁波
TOPSOLID ' Z) j, v# L) k4 e/ |  \& b
用中心点加圆上两点即可

点评

做不到。结果不唯一。再增加一个条件才可以,比如轴方向或椭圆上的另一个点。  详情 回复 发表于 2018-3-16 05:11
发表于 2018-3-16 05:11:36 | 显示全部楼层 来自: 中国北京
JCKFC1997 发表于 2018-3-15 20:02/ Z9 Q! }- v+ C; @8 n& m
TOPSOLID
8 h9 J, b$ L# j5 X" t% m, r) K+ }用中心点加圆上两点即可

) ^0 W) A, j% ]/ i& Y2 K+ u* _: w. h7 p做不到。结果不唯一。再增加一个条件才可以,比如轴方向或椭圆上的另一个点。
发表于 2018-3-22 17:16:50 | 显示全部楼层 来自: 中国浙江宁波
可以吼出来啊
& @6 p$ X5 P. i9 ~/ t

可以

可以

点评

已经说过了,根据椭圆中心和其上两点,不能确定一个椭圆。如果只有这三个条件,可以画出无数个椭圆。你画了其中的一个,说明不了任何问题。 下图是根据相同的条件随便画的几个,自己看。  详情 回复 发表于 2018-3-27 00:41
发表于 2018-3-27 00:41:25 | 显示全部楼层 来自: 中国北京
本帖最后由 woaishuijia 于 2018-3-27 00:42 编辑 & X( j5 s! r5 j  ]2 z; _& T* C2 g
JCKFC1997 发表于 2018-3-22 17:16, c& K' ?( d0 Q# O
可以吼出来啊

8 i( I% |3 q3 g6 g* c8 Y已经说过了,根据椭圆中心和其上两点,不能确定一个椭圆。如果只有这三个条件,可以画出无数个椭圆。你画了其中的一个,说明不了任何问题。/ D: G2 z8 Q6 _/ j
下图是根据相同的条件随便画的几个,自己看。
8 c$ p! n" A0 y) R
8 j% {- p$ V! ?" S9 ^
捕获.PNG
发表于 2018-11-11 09:32:10 | 显示全部楼层 来自: 中国广东佛山
下载个程序用用。
发表于 2018-12-3 09:59:14 | 显示全部楼层 来自: 中国辽宁
woaishuijia 发表于 2015-1-19 12:324 f5 ]6 Y; a( b" L2 U9 E
怎么没人回呢?
8 V8 K2 {' ~+ G8 X1 i+ R4 o& s
请教一下版主,现在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
! a* t6 N+ e! W" I0 S请教一下版主,现在CAD编程方面,学习LISP和VBA各有什么优缺点?初学想学习编程,想询问一下版主学习哪个 ...
: K4 I6 \/ s% G: m1 e
简单说,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:239 g) ]5 s& e) ]: y% Y
简单说,VBA是微软的东西,是建立在VB(可视化Basic,一种面向WINDOWS系统的图形化编程工具)基础上的面 ...

2 J7 J- w' J, W, s( }好的,感谢版主大大。。。我初学了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$ r; J' I- n4 B
好的,感谢版主大大。。。我初学了EXCEL的编程,感觉还可以,所以就想结合CAD编程,尝试在借助excel中的 ...
" O% z% E: a' d$ q3 s+ W+ H
EXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编程简直易如反掌。而且VBA的一大优势就是在支持VBA的软件之间交换数据,所以你说的“借助excel中的数据,自动完成在CAD中的绘图”就是自然而然的事。
发表于 2018-12-8 21:17:27 | 显示全部楼层 来自: 中国
woaishuijia 发表于 2018-12-8 20:33
3 h1 ]: {  w! e7 q6 b5 H) P. iEXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编 ...

5 }7 G& k: h4 i+ n好的,感谢版主大大!给了我很大的信心!
发表于 2019-1-29 12:43:15 | 显示全部楼层 来自: 中国辽宁
woaishuijia 发表于 2018-12-8 20:33
6 {' Z" H4 _7 K7 ^* N2 S8 T$ W) @EXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编 ...
' S8 o. j" h9 K. R# P5 U
老师啊!CAD的VBA没有录制宏功能啊?而且外安装的VBA模块帮助文件全是英文版的!和OFFICE的VBA相比较,麻烦多了!没有录制宏,我该怎么学习CAD的VBA呢?

点评

把邮箱给我  详情 回复 发表于 2019-1-30 22:13
发表于 2019-1-30 22:13:09 | 显示全部楼层 来自: 中国北京
kuangben8 发表于 2019-1-29 12:43) ]/ ~9 m$ b8 G7 H. F- ?
老师啊!CAD的VBA没有录制宏功能啊?而且外安装的VBA模块帮助文件全是英文版的!和OFFICE的VBA相比较,麻 ...
: I8 y5 I# b2 R7 o) R# o
把邮箱给我
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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