怎样生成光滑曲线?

zz997788 2003-10-18 04:43:22
我现在要用已知的N个点(N>3)生成光滑的曲线,并且曲线要经过这N个点.请问各路大侠,有没有比较好的方法、算法。我原来听说过一种要五点法来光滑,但一直没有找到算法,不知哪位好人能相教。这问题已困了我很久了。
...全文
268 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
zz997788 2003-10-22
  • 打赏
  • 举报
回复
谢谢大家,

我在清华大学出版的《计算机常用算法》里的第196面找到了阿克玛方法,写成了BCB代码,好象大部还可以,只是第一、二点没有光滑成曲线,第二、三点的光滑曲线有点变形,最后两点好像是直线连接,但也可以满足我现在的要求了吧。以后再改进了,现在分分了。
acneyouth 2003-10-22
  • 打赏
  • 举报
回复
顶!正好我也遇到同样的问题,不知楼主要的曲线是抛物线还是三角函数曲线?
zz997788 2003-10-22
  • 打赏
  • 举报
回复
我期待有人能帮我一下。
Lewolf 2003-10-21
  • 打赏
  • 举报
回复
有一本C语言的算法书籍,上面讲到了很多的平滑曲线的算法。
zz997788 2003-10-21
  • 打赏
  • 举报
回复
to sprewellkobe(我为软件狂!)
从理论上讲是这样的,但在很多应用领域中就要将少数的点进行光滑。
在EXCEL中就有功能,按照用户选择的得法,将几个点生成光滑的曲线。
sprewellkobe 2003-10-21
  • 打赏
  • 举报
回复
事实上,只要在计算机屏幕上就没有光滑的曲线,因为屏幕本身就是离散系统
所以只要将N取多点就好了
zz997788 2003-10-21
  • 打赏
  • 举报
回复
天呀,有谁有更好一点的答案吗?
yjy1001 2003-10-20
  • 打赏
  • 举报
回复
三次样条曲线 查大学数学专业——数值分析 课本
学过
不过不记得了
很复杂
zz997788 2003-10-20
  • 打赏
  • 举报
回复
谢谢各位的回答

to 子寒
点是随机的点,不是规矩的几何图形
to songhtao(三十年孤独) 和 freshman2003(秋水长天)
用贝兹曲线函数不能经过N个控制点呀,不能达到要求
to mme
你能说详细点吗?三次样条曲线是用什么公式。在哪有这方面的原理可查。

mme 2003-10-18
  • 打赏
  • 举报
回复
让那些点生成三次样条曲线
freshman2003 2003-10-18
  • 打赏
  • 举报
回复
用BCB自带的贝兹曲线函数当然可以,如果想控制精度的话,就自己编吧,如果想要绘贝兹曲线的源码,请在论坛发短信给我。
我不懂电脑 2003-10-18
  • 打赏
  • 举报
回复
可以用API
The PolyBezier function draws one or more Bézier curves.

BOOL PolyBezier(

HDC hdc, // handle to device context
CONST POINT *lppt, // pointer to endpoints and control points
DWORD cPoints // count of endpoints and control points
);
zihan 2003-10-18
  • 打赏
  • 举报
回复
这个光滑很自由,看你要什么光滑了,比如说你可以用一个圆,根据经过三点确定一个圆,然后由圆心和半径画出来轨迹,还可以是抛物线.等

13,824

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧