QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 2726|回复: 21
收起左侧

[求助] 新手请大侠进来指导一下

[复制链接]
发表于 2014-11-8 14:59:48 | 显示全部楼层 |阅读模式 来自: 中国陕西汉中

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

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

x
   在一个半径为50的圆里,怎样切割得到50个面积一样的区域!求画图方法,谢啦!
1 @6 y; V- C& x% ^3 x, ~5 |
发表于 2014-11-8 17:20:24 | 显示全部楼层 来自: 中国辽宁铁岭
以圆心为起点画一条射线,再以圆心为基点360度圆周阵列50条

评分

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

查看全部评分

发表于 2014-11-8 17:38:42 | 显示全部楼层 来自: 中国陕西西安
画此圆50等分点,再将这50个点分别与圆心连接,就可以了。

评分

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

查看全部评分

 楼主| 发表于 2014-11-8 21:26:46 | 显示全部楼层 来自: 中国陕西汉中
woaishuijia 发表于 2014-11-8 17:20 static/image/common/back.gif
. N% @; Y8 _( j$ F以圆心为起点画一条射线,再以圆心为基点360度圆周阵列50条

, J7 f+ D5 T. j2 I我表述不对,是那种格子不是这种的!
 楼主| 发表于 2014-11-8 21:27:28 | 显示全部楼层 来自: 中国陕西汉中
我爱用acad 发表于 2014-11-8 17:38 static/image/common/back.gif4 m. d3 N2 X$ X& _7 Q# _
画此圆50等分点,再将这50个点分别与圆心连接,就可以了。
' N! F4 Y: k4 m% ?" ]" S
我表述不对,是那种格子不是这种的!
发表于 2014-11-9 01:14:07 | 显示全部楼层 来自: 中国辽宁铁岭
无法就能无天 发表于 2014-11-8 21:27 static/image/common/back.gif
# k; o2 Y; b3 |我表述不对,是那种格子不是这种的!

0 l5 _3 H) J2 |" g1 t没有几何画法,只能用编程叠代运算
 楼主| 发表于 2014-11-9 07:50:38 | 显示全部楼层 来自: 中国陕西汉中
woaishuijia 发表于 2014-11-9 01:14 static/image/common/back.gif: c$ E  `* U7 E
没有几何画法,只能用编程叠代运算

( P+ \# D) {; ~大神这个还真是不懂!菜鸟看从哪里学起?
发表于 2014-11-9 14:16:32 | 显示全部楼层 来自: 中国辽宁铁岭
首先把CAD常用方法,命令玩熟;然后学习用编程方法从后台操作CAD,这种问题毛毛雨啦
 楼主| 发表于 2014-11-9 14:51:19 | 显示全部楼层 来自: 中国陕西汉中
woaishuijia 发表于 2014-11-9 14:16 static/image/common/back.gif3 e  d  ]- h& N/ l
首先把CAD常用方法,命令玩熟;然后学习用编程方法从后台操作CAD,这种问题毛毛雨啦

  X9 v: z2 y% l( r; t7 j  S# b& X奥,是这样子!谢了呀!
发表于 2014-11-9 15:21:28 | 显示全部楼层 来自: 中国湖北黄冈
本帖最后由 tangcarlos3d 于 2014-11-9 15:22 编辑 2 P- c6 s, M5 L3 A1 B. q# q! Z" y

2 f2 Y4 E3 g: C# A/ X格子的形状有没有要求:圆形、正方形还是扇形的?还是任意形状?
 楼主| 发表于 2014-11-9 17:37:39 | 显示全部楼层 来自: 中国陕西汉中
tangcarlos3d 发表于 2014-11-9 15:21 static/image/common/back.gif
( y6 n. F1 F  B1 N) \6 i0 h" a格子的形状有没有要求:圆形、正方形还是扇形的?还是任意形状?

! x; |- a+ Z& d: \3 O4 z! s除了扇形的形状!
发表于 2014-11-9 18:42:52 | 显示全部楼层 来自: 中国陕西西安
无法就能无天 发表于 2014-11-9 17:37 http://www.3dportal.cn/discuz/static/image/common/back.gif3 N: q' z7 D# Z! o
除了扇形的形状!

% W0 u  |  g1 P' ^4 m* ~( x! h5 W( u% B' @
中间画个小圆,面积为大圆的1/50,剩余圆环周向作49等分就行了。
发表于 2014-11-9 18:46:07 | 显示全部楼层 来自: 中国江西南昌
本帖最后由 oxm44 于 2014-11-10 07:40 编辑
' \2 H; u% X0 e% f  `" J" p8 U
, o! Z  A0 \# j  M& l有点意思
9 E- r' U/ k- X$ ^作出半径为r的圆(r任取),并将r圆作10等分,) o8 C! Z5 Y( P1 \6 k$ b
如图作出√2r、√3r、√5r,分别以此长度及2r为半径作出r圆的同心圆。后再将整图由√5r缩放到50。
# B2 ?6 |4 J0 B* D0 c* c
50.PNG
, f( R4 J& F; D# s7 l1 P: o5 D0 w6 C2 R2 k' ?
50-.PNG
发表于 2014-11-9 22:42:27 | 显示全部楼层 来自: 中国辽宁铁岭
等分为格子的VBA代码
  1. Sub A()
    5 F7 x: E+ C$ u- U* g2 @
  2.     Dim SS As AcadSelectionSet, Ft(0) As Integer, Fd(0) As Variant, C As AcadCircle& _3 M  M2 _$ ]) a2 k* K
  3.     Dim P1(2) As Double, P2(2) As Double, L1 As AcadLine, L2 As AcadLine0 \% w! k0 E5 g. t% y. ~+ }
  4.     Dim I As Integer, J As Integer, H As Double, H0 As Double, H1 As Double, V As Variant, K As Integer1 [4 R" g+ g6 F) e
  5.     Dim E(3) As AcadEntity, R As AcadRegion
    ; U, s' M2 z# b8 T6 N8 G
  6.     With ThisDrawing# |1 y  j. e# q. q
  7.         Set SS = .SelectionSets.Add("SS")
    4 c2 b. B* l4 Y; M" |
  8.         Fd(0) = "circle"
    . B* ?5 E; S7 `/ }" }0 e, y
  9.         SS.SelectOnScreen Ft, Fd# ?, E3 ]' e+ d; r9 o  j; d
  10.         If SS.Count > 0 Then$ \7 f9 q! a) u6 r. v
  11.             I = .Utility.GetInteger("输入平分数量:"): G( i7 a# [# c# R
  12.             If I > 1 Then0 g8 K' c- c# D+ f. I
  13.                 Set C = SS(0)
    : `% q1 j1 r  Z
  14.                 H = C.Center(1) + C.Radius7 e8 b& Q6 r- H  N
  15.                 P1(0) = C.Center(0)
      u! u2 v, Q8 [) l; C' c6 N
  16.                 P1(1) = H
    + x" O  U+ K% F9 y9 T( n
  17.                 P2(0) = P1(0)
    3 Y* n( ~. B& r0 o6 S% P/ K) w' W* M( X
  18.                 P2(1) = H
    0 Q- R  B; C% `1 {4 v% s. i! r
  19.                 Set E(0) = .ModelSpace.AddLine(P1, P2), u7 T6 M5 b% ^8 x
  20.                 For J = 0 To I - 1
    , B' @+ m5 h* ]
  21.                     H0 = H! f7 N( [/ n5 x5 V6 Y2 n: M
  22.                     H1 = C.Center(1) - C.Radius/ P+ ~$ D5 F/ T; h* r2 c. g
  23.                     Do7 M* g; A4 e2 q0 t: w2 K
  24.                         H = (H0 + H1) / 2
    + d4 T) x8 z2 F" a: C- ^
  25.                         P1(0) = C.Center(0) - C.Radius
    : I2 K) l4 }8 s, v1 N
  26.                         P1(1) = H
    ) W1 G) q) R- N
  27.                         P2(0) = C.Center(0) + C.Radius
    , Q* c6 a) g+ B
  28.                         P2(1) = H* E9 U; c  a* \) @; t1 C
  29.                         Set E(2) = .ModelSpace.AddLine(P1, P2)
    8 O' N, }, ]7 @" }# _' y
  30.                         V = C.IntersectWith(E(2), acExtendBoth)1 u$ e) P6 H+ t# d
  31.                         If UBound(V) < 5 Then
    ! V2 y% ~+ Z# e8 I- d8 ^* S' C
  32.                             P1(0) = C.Center(0)
    4 s6 I6 J- d* H2 C# g
  33.                             P2(0) = P1(0)
    # A- Q" E0 `& P6 M: z/ _
  34.                         Else
    0 |; m5 w/ w8 X1 t4 S8 C
  35.                             If V(0) < V(3) Then7 q7 N) l# q; ^1 G6 [: O0 x
  36.                                 P1(0) = V(0)7 ^; c$ B6 [  \8 k
  37.                                 P2(0) = V(3)+ `* P6 U/ ?1 U: }: W
  38.                             Else
    , q+ U  r2 x0 B* o) `3 R9 Y  u
  39.                                 P1(0) = V(3)* w8 J' {6 j& b0 P' [- H- ^
  40.                                 P2(0) = V(0)7 Q+ s1 r. `! y* ^3 X9 ~: v" w- n
  41.                             End If$ ^, Y7 x* R$ L" P" v" P8 i
  42.                         End If5 N7 j4 t, x1 W$ q" x. E2 T5 S
  43.                         E(2).StartPoint = P1  c$ u- Y, H2 k
  44.                         E(2).EndPoint = P27 @4 \$ R5 R( K5 M& ]
  45.                         Set L1 = .ModelSpace.AddLine(C.Center, E(0).StartPoint)6 s5 c; Q8 l0 f& u2 t  T
  46.                         Set L2 = .ModelSpace.AddLine(C.Center, E(2).StartPoint)
    8 k' M# X9 X8 B( x0 F. G# {' {) Z  D
  47.                         Set E(1) = .ModelSpace.AddArc(C.Center, C.Radius, L1.Angle, L2.Angle), a1 n' x3 r4 g, U3 Q* g. T
  48.                         L1.Delete" w/ r: y; ]  e& F7 A
  49.                         L2.Delete
    5 @# ^6 w6 u6 V$ j  g1 x
  50.                         Set L1 = .ModelSpace.AddLine(C.Center, E(2).EndPoint)6 Q! d+ q1 l8 n( Q/ O' h( L3 D
  51.                         Set L2 = .ModelSpace.AddLine(C.Center, E(0).EndPoint)
    ) H; Z3 Q6 d( v& v5 O
  52.                         Set E(3) = .ModelSpace.AddArc(C.Center, C.Radius, L1.Angle, L2.Angle): W0 D2 p7 F2 Y" C. _6 J% E% y
  53.                         L1.Delete
    * z$ s% q3 _+ I
  54.                         L2.Delete$ g# E4 r9 ]1 T/ ~# c, r9 q9 d. p$ j
  55.                         V = .ModelSpace.AddRegion(E)
    % z* A% c6 o+ {+ G8 g
  56.                         Set R = V(0)
    5 X( `/ ]+ w/ n# R
  57.                         If R.Area = C.Area / I Or H = H0 Or H = H1 Then
    $ B) b  ]( ]0 Q" M& b& U- `; f* Z1 H
  58.                             E(0).Delete
    4 Q8 s2 b0 U7 q9 f6 _3 c3 T
  59.                             E(1).Delete5 _3 d' E0 q9 F
  60.                             E(3).Delete( H/ R7 c  [  Q9 W/ U  F
  61.                             Set E(0) = E(2)+ S/ x" [4 n+ _. Z
  62.                             Exit Do
    ) E& E5 m- Z, m, d" i7 ~
  63.                         ElseIf R.Area < C.Area / I Then6 c* ^; h, R1 l$ H
  64.                             H0 = H
    : @$ A! i' t  x- m& [' @
  65.                             R.Delete: t8 N3 B: ?* I4 ~- }- M
  66.                             For K = 1 To 3
    7 X/ {7 ~- r  E3 @
  67.                                 E(K).Delete
    * n2 ^9 R1 R+ t7 B  H$ g5 F2 d8 y
  68.                             Next
    3 B- H0 G0 S+ i: `
  69.                         Else1 Y2 w$ v% f# `$ [
  70.                             H1 = H
    2 _7 u% h; T5 @3 J% C1 o- X) o
  71.                             R.Delete0 J( Q1 G$ f5 `5 i- C1 @
  72.                             For K = 1 To 3
    . n& y9 M; d! a4 q% m
  73.                                 E(K).Delete0 q& c( r+ y* U* n, T" d4 }/ x
  74.                             Next0 i& m. F2 q! s! v9 x* M
  75.                         End If
    / w+ E6 Z/ t& I0 ?2 A, y7 n
  76.                     Loop
      k  w4 t. V9 p( p6 o. s; R3 s! d
  77.                 Next4 o  `! I: G) R" m* z
  78.                 E(0).Delete; _* H8 E, T( o
  79.             End If
    6 {- Q1 q0 b, w" z; k
  80.         End If) p/ J; Z3 ?0 `$ l7 S
  81.         SS.Delete7 {  D# U' m0 p. g% f
  82.     End With2 _; c+ E9 C, _3 }+ Z' h
  83. End Sub
复制代码
 楼主| 发表于 2014-11-10 09:23:11 | 显示全部楼层 来自: 中国陕西汉中
oxm44 发表于 2014-11-9 18:46 static/image/common/back.gif
5 i9 D6 `* J+ Y# C9 ^* C有点意思
/ g; f7 i7 T* P) j# d' t+ V  J作出半径为r的圆(r任取),并将r圆作10等分,
: w$ U- P8 e; z; [如图作出√2r、√3r、√5r,分别以此长度及2r为半径作 ...

6 x; S6 C7 ?) O% X- q; O虽然多了几个格子但提供了一种思路,十分感谢!
 楼主| 发表于 2014-11-10 09:24:27 | 显示全部楼层 来自: 中国陕西汉中
woaishuijia 发表于 2014-11-9 22:42 static/image/common/back.gif
+ B" y! o5 Q! }# ?% F1 Z& X3 \' R等分为格子的VBA代码

  l% ?. U! q! T十分感谢!大神请收下我的膝盖!
发表于 2014-11-10 10:01:09 | 显示全部楼层 来自: 中国江西南昌
无法就能无天 发表于 2014-11-10 09:23 static/image/common/back.gif
: _7 k% H! v* W: n0 d虽然多了几个格子但提供了一种思路,十分感谢!

) c3 M) c6 D2 e7 M) Q多了几个格子??
: O0 w1 z% a% [) f5×10>50?
 楼主| 发表于 2014-11-10 11:21:31 | 显示全部楼层 来自: 中国陕西汉中
oxm44 发表于 2014-11-10 10:01 static/image/common/back.gif1 e& j( F' y1 D, x' A6 B
多了几个格子??5 ]! j: A: W2 E8 s8 F) i3 k3 [' D
5×10>50?

# {, Z' W& c3 y2 g* P1 w不好意思看错了
发表于 2014-11-10 18:18:12 | 显示全部楼层 来自: 中国江西南昌
此图的画法原理其实很简单,看下图:
* x+ M; D# i4 d# B/ v: q
4 z1 ]( ]& h- z( y 50-1.PNG
9 ^8 G# c% o9 T  _; S
8 e1 P# I7 q- t2 f 50-2.PNG 0 z) }3 J$ t. l* Z3 m

/ z4 I" d- n2 h& j将上图中的兰色半径线阵列10,即分成50分了。后再将整图缩放到半径50。0 O4 \. ^$ h) D9 c4 S8 k
50-3.PNG
发表于 2014-11-11 10:49:42 | 显示全部楼层 来自: 中国辽宁本溪
oxm44 发表于 2014-11-10 18:18 static/image/common/back.gif; }  W, |* u  |8 Y5 t) j
此图的画法原理其实很简单,看下图:

2 F0 _% c  v$ M% E6 s9 S: W  ?& n- a2 X楼主要求不能出现扇形,你那里面有扇形
发表于 2014-11-11 10:59:17 | 显示全部楼层 来自: 中国江西南昌
本帖最后由 oxm44 于 2014-11-11 11:00 编辑
! e4 o/ s: f3 N: u% ]  P
xhq1954425 发表于 2014-11-11 10:49 http://www.3dportal.cn/discuz/static/image/common/back.gif  ?' U$ M0 \+ C  ?
楼主要求不能出现扇形,你那里面有扇形
9 n! W; N7 |. C
5 ^$ j& q* Z, F9 S) |+ ?
"怎样切割得到50个面积一样的区域"这就是题给的要求!
发表于 2014-11-11 12:31:25 | 显示全部楼层 来自: 中国辽宁本溪
oxm44 发表于 2014-11-11 10:59 static/image/common/back.gif  E; \! ^% E: M" ]- n$ ^
"怎样切割得到50个面积一样的区域"这就是题给的要求!

& f6 ?' |* {, l7 @! I11楼有补充说明……
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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