乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 97|回复: 6

[求助]样条曲线如何转换为线或圆弧?

[复制链接]

5

主题

20

帖子

2

银币

初来乍到

Rank: 1

铜币
40
发表于 2004-6-14 18:04:00 | 显示全部楼层 |阅读模式
画线命令:spline 请问高手如何转换(NURBS) 曲线为线或圆弧?
样条曲线也叫云形线(NURBS) 曲线
或者还是不能转换?
回复

使用道具 举报

5

主题

20

帖子

2

银币

初来乍到

Rank: 1

铜币
40
发表于 2004-6-15 21:11:00 | 显示全部楼层
有没有高手指点小弟一下!!
回复

使用道具 举报

34

主题

372

帖子

7

银币

中流砥柱

Rank: 25

铜币
508
发表于 2004-6-16 09:23:00 | 显示全部楼层
如果要在VBA中编程实现,需要下面两个步骤:
(1)利用导出文件的方法,将包含样条曲线的部分导出为WMF,再将导出的文件插入当前图形,并且分解该对象,就能转换成PLINE。
(2)计算PLINE的各个顶点坐标,并且根据凸度来判断直线和曲线段,根据这些参数创建对应的直线和圆弧。
整个过程还是比较复杂的,不过大部分的相关代码可以在本论坛找到。
回复

使用道具 举报

5

主题

20

帖子

2

银币

初来乍到

Rank: 1

铜币
40
发表于 2004-6-16 17:56:00 | 显示全部楼层

请问如果将样条曲线导出文件为WMF,再如何导入?? 请问张版主(zfbj)第一点能不能再详细点指点给小弟!!
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2004-6-16 20:49:00 | 显示全部楼层
用SendCommand方法调用WmfOut、WmfIn命令
回复

使用道具 举报

158

主题

2315

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2951
发表于 2004-6-16 20:56:00 | 显示全部楼层
也可以用Export和Import方法来处理。
回复

使用道具 举报

5

主题

20

帖子

2

银币

初来乍到

Rank: 1

铜币
40
发表于 2004-6-17 10:20:00 | 显示全部楼层
先谢谢几位版主,我按照zfbj的方法导出后再导入时,按X,Y以2倍的比例插入后,再炸开,和原样条曲线比较,发现有很大的误差.精度达不到要求. 因图档是从PRO/E档中转出到2D,图档需要用线割机台加工的, 线割机台的精度是0.002mm
而导入后再炸开的全都是直线,我随便量了一下,有的距离为0.3766mm, 误差太大,所以不行.
不知还有没有更好的方法?
比如说能不能找到样条曲线的计算公式,下面是我从网上找到的一点点资料不知道行不行?====================================================================================◇ 二次Spline曲线的绘製
**********************************************************************
* 二次Spline曲线的绘製                                               *
* 作者:邱奕南(ID:Chi'u I-Nan,笔名:青衫诗客-小邱)              *
* 版权声明:以下文章内容本人仅同意供BBS 站上流传学习,但必须完整流传 *
*           (含版权声明及程式),其余权利一概保留。任何未经本人同意 *
*           ,将本文贩卖、刊登、节录、或其他一切侵害本人著作权之行为 *
*           者,皆需负担刑事责任及民事赔偿责任。                     *
* 备註:本文若有任何错误,或需要补充之处,欢迎写信至90网C语言区告知,*
*       以便传播正确知识。                                           *
**********************************************************************    在MS-Windows上用过GetGlyphOutline函数的人都知道,取得的TrueType字
形资料包含了两种边线定义方式,一是TT_PRIM_LINE的多边形线,一是
TT_PRIM_QSPLINE的二次(Quadratic)Spline曲线。究竟这个二次Spline曲线
要如何绘製呢?这便是本文所要探讨的课题。首先我们来看一下Spline曲线的
定义。    对於n+1个参考点Pi,i=0~n,k阶Spline曲线的定义为:            n
    P(t) = Σ  Pi * Ni,k(t)     ,t = 0~n-k+2
           i=0其中Ni,k(t)为各参考点的加权函数,由下列递迴公式所定义:              (t-v)*Ni,k-1(t)   (v[i+k]-t)*Ni+1,k-1(t)
    Ni,k(t) = ───────── + ───────────
                v[i+k-1]-v          v[i+k]-v[i+1]              ┌ 1  若 v

01hckz3vcay.jpg

01hckz3vcay.jpg

回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-15 21:16 , Processed in 0.396305 second(s), 69 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表