关于GDI+中曲线画法函数问题

jhjinpei 2013-09-15 10:15:56
GDI+中画曲线有几个函数。一个是GdipDrawCurve,一个是GdipDrawClosedCurve。后者是画闭合曲线。默认张力值为0.5。但绘图以后发现有一个问题,闭合曲线绘制完以后,起始点和结束点之间的曲线基本等同于直线,这是不是本身函数算法的问题?我用三次样条函数和贝塞尔函数做出来的跟直接调用这个API函数差不多。
...全文
238 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiger_Zhao 2013-09-16
  • 打赏
  • 举报
回复
这和首尾点没关系。
比如右上包含数字13的闭合曲线,大概是 (140,100)->(50,0)->(0,40)->(75,50)-> 四个点,无论选哪里做首尾点,都不影响曲线。
jhjinpei 2013-09-16
  • 打赏
  • 举报
回复
楼上说的,我也知道。不过看图中最上面的闭合曲线,就是包含15、18这两个点的那根闭合曲线,下面的尖角特别明显。就是说用GdipDrawClosedCurve做曲线平滑的时候,是不是只考虑对前面的点进行样条平滑,而不考虑后面的点,所以最后连接而成的闭合曲线,初始曲线和最后曲线连接时候就显得夹角特别尖锐。如果是这样,有没有其他更好的函数使得整根曲线更加圆滑?
Tiger_Zhao 2013-09-16
  • 打赏
  • 举报
回复
是你头尾两点的距离比其他的大而已。
不信你给出正方形的4个顶点,闭合曲线就是对称的。

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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