b样条图形问题

天空的云彩 2002-12-03 05:20:00
本人手头有个问题一直无法解决:给出一系列坐标点数据,如何绘制出较为象样的曲线?听说用2次样条即可解决问题,但苦思无果,请帮忙.
...全文
55 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weibz0525 2002-12-03
  • 打赏
  • 举报
回复
TCanvas::PolyBezier
  画一簇Bezier曲线。
 void __fastcall PolyBezier (const tagPOINT* Points,const int Points_Size );
  PolyBezier用于根据 Points参数指定的控制点画三次Bezier曲线。其中第一条曲线经过第一、第四点。2、3点为控制点。按顺序,每条曲线需至少四个点;上一曲线的终点为下一曲线的开始点,紧接着的两个点为控制点,第四点为终点。画线时使用当前的笔。
  可以使用Sice函数把点数组传给PolyBezierTo方法。例如,把100 个点的前10个点画成一条Bezier曲线,使用方法如下:
  Canvas::PolyBezier(Slice(PointArray,10));

TPanvas::PolyBezierTo
  画一簇Bezier曲线并更新PenPos的值。
 void__fastcall PolyBezierPo(const tagPOINT* Points ,const inty Points_Size );
  PolyBezierTo 用于根据 Points 参数指定的控制点画三次 Bezier 曲线 。其中第一条曲线经过第一、第四点,2、3点为控制点。按顺序,每条曲线需至少四个点;上一曲线的终点为下一曲线的开始点,紧接着的两个点为控制点,第四点为终点。画线时使用当前的笔并把 PenPos 更新为最后一个点的值。
  可以使用Slice函数把点数组传给PokybezierTo方法。例如,把100个点的数组的前10个画成一条Brzier曲线,使用方法如下:
  Canvas::PolyBezierTo(Slice(PointArray,10));

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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