怎样生成光滑曲线?

zz997788 2003-10-18 04:43:22
我现在要用已知的N个点(N>3)生成光滑的曲线,并且曲线要经过这N个点.请问各路大侠,有没有比较好的方法、算法。我原来听说过一种要五点法来光滑,但一直没有找到算法,不知哪位好人能相教。这问题已困了我很久了。
...全文
271 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
  • 打赏
  • 举报
回复
这个光滑很自由,看你要什么光滑了,比如说你可以用一个圆,根据经过三点确定一个圆,然后由圆心和半径画出来轨迹,还可以是抛物线.等
本视频以程序员的视角分析和阐述了以下几方面的内容:第一,主要阐述人类的思维活动模式;第二,阐述人工智能如何实现;第三,讲解人工智能的具体实现方法。在阐述这三点主要内容的同时,通过具体示例说明了自然语言在开发人工智能时的重要作用,即自然语言是人类在认知自然时抽象的产物,是思维和自然联系的工具。利用在人工智能开发时,是人工智能和人类的沟通桥梁,时人工智能思维产物被人类认知的桥梁。所以说自然语言是开发人工智能必不可少的工具。人们在认知自然界的时候,获取的所有信息都是抽象后的信息。也就是我们的感官能够接收或感受到的信息。换句话说,就是获取的到信息都只是某个事物的一部分信息。比如眼前的显示器:眼睛看到的只是它的颜色、形状和大小,用手只能感知到它的重量及是否光滑、温度等信息,鼻子只能感知到其散发的味道。而它只有这些信息吗?当然不止,只是其它信息我们无法感知,或者不需要知道而已,因为已知的信息已经足够满足我们对其认知的需要了。加入我们需要移动显示器的时候,我们知道其外壳是塑料的,足够结实,能够保护屏幕就可以了,塑料的具体成分,我们不需要去了解就已经能满足我们认知的需要了。然后我们就可以拿着外壳移动显示器了。换个说法也可以:我们在认知自然界的时候,只是认知了事物的部分特征。这些特征已经基本满足了我们的认知需求。而特征就是事物的部分性质的抽象信息。自然语言就是最佳的抽象工具。通过自然语言,我们才能够将事物抽象为一个个的名词;将连续的动作抽象为动词;将描述名词和动词的信息抽象为形容词和副词;为了更加精确的描述事物的多少,产生了数量词来做度量衡;为了更加完美的描述自然界,又衍生出了虚词;为了表示关系,产生了介词;为了表示逻辑,产生了连词。而作为人类描述自然界事物的工具,自然语言也天然是人工智能和人类沟通交流的工具。现在的计算机及相关的软硬件已经十分的丰富。完全具备实现人工智能的条件,市面也流行着很多人工智能的算法,但在我看来这些算法充其量可以作为人工智能的部分外设。如图像识别、深度学习、NLP、机械臂等,可以为人工智能的眼睛、判别工具、手腿等外设。因为这些算法都有以下几个缺点:一、不会自动产生需求。除了设定好的目标外,无法识别人类的其它指令,也就无法做出正确的响应;二、方法是事先固化的,除固定的算法外,对于新的需求无法自动生成新的算法。三、对于目标无法自动设定达成标准,也就是说没有办法自动判断自己的动作执行结果是否符合自己的需求。四、无法自动生成目标,也就是说没有主动性。当遇到复杂任务时,无法通过分解任务来完成。本文站在程序员的视角,分三章系统的分析了人类的思维方式,并转化为程序逻辑,最终实现使用计算机程序来完成人类的思维过程。第一章主要是讲述的是人类的思维方式;第二章主要讲述的是如何将人类思维中需要的信息进行数据化,以便于存储到电脑中;第三章主要讲述的是程序的逻辑架构和部分实现方法。

13,825

社区成员

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

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