SolidWorks机械工程师网——最大的SolidWorks学习平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

好品数字
好品数字
查看: 770|回复: 15
打印 上一主题 下一主题

怎样在草图中实现贝塞尔(Bezier)曲线呢??江湖告急!!

[复制链接]

87

主题

293

帖子

272

金币

堂主

Rank: 4

积分
604
QQ
跳转到指定楼层
楼主
发表于 2009-3-6 20:05:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
画图要用到贝塞尔曲线,但sw中没有这种曲线,怎么办??各位大哥大姐帮帮忙,谢谢了!!!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享教程|习题|模型|技巧 点赞点赞5738 拍砖拍砖716
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复

使用道具 举报

15

主题

247

帖子

48

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
300
沙发
发表于 2009-3-6 20:06:13 | 只看该作者
SW中没有的曲线类型太多了,楼主你自己用方程计算出座标值,再用样条曲线近似表示吧~~~
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复 支持 反对

使用道具 举报

7

主题

220

帖子

16

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
259
QQ
板凳
发表于 2009-3-6 20:07:33 | 只看该作者
恕我无知 ,我还真不了解这种曲线
新会员一来就给我们这个区出了一道难题,请高手现身!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

18

主题

230

帖子

41

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
298
QQ
地板
发表于 2009-3-6 20:07:48 | 只看该作者
【简介】
  贝塞尔曲线又称贝兹曲线或贝济埃曲线,一般的矢量图形软件通过它来精确画出曲线,贝兹曲线由线段与节点组成,节点是可拖动的支点,线段像可伸缩的皮筋,我们在绘图工具上看到的钢笔工具就是来做这种矢量曲线的。当然在一些比较成熟的位图软件中也有贝塞尔曲线工具,如PhotoShop等。在Flash4中还没有完整的曲线工具,而在Flash5里面已经提供出贝塞尔曲线工具。
  贝塞尔曲线是应用于二维图形应用程序的数学曲线曲线的定义有四个点:起始点、终止点(也称锚点)以及两个相互分离的中间点。滑动两个中间点,贝塞尔曲线的形状会发生变化。二十世纪六十年代晚期,Pierre Bézier应用数学方法为雷诺公司的汽车制造业描绘出了贝塞尔曲线
  【命名】
  贝塞尔曲线就是这样的一条曲线,它是依据四个位置任意的点坐标绘制出的一条光滑曲线。在历史上,研究贝塞尔曲线的人最初是按照已知曲线参数方程来确定四个点的思路设计出这种矢量曲线绘制法。贝塞尔曲线的有趣之处更在于它的“皮筋效应”~也就是说,随着点有规律地移动,曲线将产生皮筋伸引一样的变换,带来视觉上的冲击。1962年,法国数学家Pierre Bézier第一个研究了这种矢量绘制曲线的方法,并给出了详细的计算公式,因此按照这样的公式绘制出来的曲线就用他的姓氏来命名~是为贝塞尔曲线
【作用】
  由于用计算机画图大部分时间是操作鼠标来掌握线条的路径,与手绘的感觉和效果有很大的差别。即使是一位精明的画师能轻松绘出各种图形,拿到鼠标想随心所欲的画图也不是一件容易的事。这一点是计算机万万不能代替手工的工作,所以到目前为止人们只能颇感无奈。使用贝塞尔工具画图很大程度上弥补了这一缺憾。
  贝塞尔曲线是计算机图形图像造型的基本工具,是图形造型运用得最多的基本线条之一。它通过控制曲线上的四个点(起始点、终止点以及两个相互分离的中间点)来创造、编辑图形。其中起重要作用的是位于曲线中央的控制线。这条线是虚拟的,中间与贝塞尔曲线交叉,两端是控制端点。移动两端的端点时贝塞尔曲线改变曲线的曲率(弯曲的程度);移动中间点(也就是移动虚拟的控制线)时,贝塞尔曲线在起始点和终止点锁定的情况下做均匀移动。注意,贝塞尔曲线上的所有控制点、节点均可编辑。这种“智能化”的矢量线条为艺术家提供了一种理想的图形编辑与创造的工具。
【发现者】
  “贝赛尔曲线”是由法国数学家Pierre Bézier所发现,由此为计算机矢量图形学奠定了基础。它的主要意义在于无论是直线或曲线都能在数学上予以描述。
【贝赛尔工具】
  “贝赛尔”工具在photoshop中叫“钢笔工具”;在CorelDraw中翻译成“贝赛尔工具”;而在Fireworks中叫“画笔”。它是用来“画线”造型的一种专业工具。当然还有很多工具也可以完成画线的工作,例如大家常用的photoshop里的直线、喷枪、画笔工具,Fireworks里的直线、铅笔和笔刷工具,CorelDraw里的自由笔,手绘工具等等。
  用“贝塞尔”工具无论是画直线或是曲线,都非常简单,随手可得。其操作特点是通过用鼠标在面板上放置各个锚点,根据锚点的路径和描绘的先后顺序,产生直线或者是曲线的效果。我们都知道路径由一个或多个直线段或曲线段组成。锚点标记路径段的端点。在曲线段上,每个选中的锚点显示一条或两条方向线,方向线以方向点结束。方向线和方向点的位置确定曲线段的大小和形状。移动这些元素将改变路径中曲线的形状,可以看右图。路径可以是闭合的,没有起点或终点(如圆圈),也可以是开放的,有明显的端点(如波浪线)。
[编辑本段]【CorelDRAW贝塞尔曲线的使用方法】
  贝塞尔曲线跟PS里的钢笔的意思大概差不多,不过贝塞尔曲线没有选取的功能。在这里,要切记,不要和轮廓工具弄混,前者是通过调节点调节形状,后者是调节形状轮廓的粗细以及样式。
  补充几点:
  1、在任意工具情况下,在曲线上双击都可以换为形状工具对曲线进行编辑;
  2、在曲线上用形状工具双击可以增加一个节点;
  3、在曲线的节点上双击形状工具可以删除一个节点;
  4、位图可以用形状工具点击再拖动某一点可以进行任意形状的编辑;
  5、用形状工具同时选中几个节点可以进行移动;
  6、在微调距离中设定一个数值再用形状工具选中曲线的某一节点敲方向箭头可以进行精确位移;
  7、将某一个汉字或字母转换为曲线就可以用形状工具进行修理如将“下”的右边的点拿掉等。
[ 本帖最后由 hux0730 于 2009-3-6 21:15 编辑 ]
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

10

主题

216

帖子

21

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
248
QQ
5#
发表于 2009-3-6 20:10:59 | 只看该作者

   经典案例图书
个人感觉,样条曲线中的不在曲线上的那些控制点就是该工具。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

5

主题

236

帖子

9

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
256
QQ
6#
发表于 2009-3-6 20:12:33 | 只看该作者
感谢回答。但拒我所知,样条曲线和贝塞尔曲线是不同的曲线绘制方法,我估计是不是应该用来实现
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

13

主题

252

帖子

29

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
296
QQ
7#
发表于 2009-3-6 20:12:52 | 只看该作者

   经典案例图书
1、Bezier曲线
这种曲线没有内在的节点,这类曲线被广泛用在A类数字工程中,因为它给出的是一个平滑的效果,这种由特征多边形作出其对应曲线的方法是纯几何性的,十分简便,可保证曲线曲面的凸性和光顺性。
2、NURB曲线    非均匀有理B样条曲线是一种非常灵活的曲线,它必须有一个或 多个节点。在逆向工程中的大部分时间都会用到,他基本的数字模型和Bezier曲线很相似。B样条还具有很强的表达能力,它不仅可以表示一般的平面曲线和空间曲线,还能表示夸点、重点以及直线与前线衔接段。B样条曲面的最大优点在于它能十分方便的坐到曲面片之间的连接,而且理所当然的坐到二阶导数连续。3、曲线的数学模型
控制点的说两=内部节点数+自由度+1
曲线曲面大多数是由他们的阶次来决定的
阶次=自由度+1
所以控制点数量=内部节点数量+阶次
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

6

主题

210

帖子

12

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
223
8#
发表于 2009-3-6 20:14:24 | 只看该作者
跑题了,说是在SW中如何表达这个曲线,当然介绍概念是必须的,但问题还有解决,望高手出现..
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

11

主题

228

帖子

30

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
279
QQ
9#
发表于 2009-3-6 20:22:42 | 只看该作者
只有清楚了概念你才会明白,其实贝塞尔曲线 (Bézier curve) 就是极点数与其阶数相同的 B 样条曲线
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

16

主题

249

帖子

36

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
311
QQ
10#
发表于 2009-3-6 20:23:29 | 只看该作者
我想楼主大概没搞明白所谓的贝塞尔曲线和B样条曲线只是一种算法,机器如何完美画曲线的算法,属于程序设计范畴的。这本不是我等使用者该关心的。不知楼主究竟要达到什么效果,究竟是编程需要,还是根本不懂
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

10

主题

230

帖子

24

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
277
QQ
11#
发表于 2009-3-6 20:24:07 | 只看该作者
  极点和阶数 学习了可能以后用到
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

13

主题

210

帖子

25

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
262
QQ
12#
发表于 2009-3-6 20:25:35 | 只看该作者
这两天在这里下点东西,也帮新人解答些问题好了(我也很反感复制粘贴答非所问的答案)
Bezier只是一种通过已知点构造平滑样条曲线的方法,草图里的自由样条曲线就完全满足这个条件,还可以通过锚点控制相切重量,名称不同而已。
当然,如果曲线特殊有方程约束,这里也送上一个曲线以描出需要曲线(笛卡尔坐标系,自己换里方程)。代码很简单就不注释了。
Dim swApp As Object
Sub main()
    Set swApp = Application.SldWorks
    Set Part = swApp.NewPart
    Set Part = swApp.ActiveDoc

    tMax = 3.1415926
    tMin = 0
    tStep = 0.1
    n = Int((tMax - tMin) / tStep)
    Set SelMgr = Part.SelectionManager
    Part.Insert3DSketch
    Part.SetPickMode
For t = tMin To tMax Step tStep
  
X = 10 * Cos(t) + 10 * 180 * t / 180 * Sin(t)
Y = 10 * Sin(t) - 180 * 10 * t / 180 * Cos(t)
Z = 0
Part.SketchSpline n, 0.001 * X, 0.001 * Y, 0.001 * Z
n = n - 1
Next t
Part.SketchManager.InsertSketch True
Part.ClearSelection2 True
End Sub
以上
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

12

主题

221

帖子

35

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
281
QQ
13#
发表于 2009-3-6 20:25:51 | 只看该作者
楼主又蒸发了,经常有这种人,提个莫名其妙的问题,不具体说明自己的设计需求,对基本常识不清不楚,然后就无影无踪,留下个烂摊子。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

14

主题

224

帖子

28

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
271
QQ
14#
发表于 2009-3-6 20:26:14 | 只看该作者
好贴,一定要顶一下。人多真的力量大呢
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

14

主题

253

帖子

28

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
308
QQ
15#
发表于 2009-3-6 20:28:41 | 只看该作者
加入QQ群
参与讨论和学习

SolidWorks技术交流群

或扫描二维码加入

其实SW中的样条曲线就是样条曲线,画出来的曲线和调整方法并无二样
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

12

主题

238

帖子

29

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
271
QQ
16#
发表于 2009-3-6 20:31:25 | 只看该作者

   经典案例图书
用coreldraw画图,然后导出为dwg,再用solidworks打开!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭 卷起
关闭 卷起

手机版|小黑屋| GMT+8, 2024-5-16 21:46 , Processed in 0.218930 second(s), 37 queries .

SolidWorks机械工程师网 ( 鲁ICP备14025122号-2 ) 鲁公网安备 37028502190335号

声明:本网言论纯属发表者个人意见,与本网立场无关。
如涉版权,可发邮件: admin@swbbsc.com

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