永发信息网

求VC画Bezier曲线的代码

答案:2  悬赏:70  手机版
解决时间 2021-04-26 23:30
  • 提问者网友:轻浮
  • 2021-04-26 08:42
求VC画Bezier曲线的代码,要求全。追加高分!!邮箱wangqi1999@gmail.com。。发送者请留下你的百度大名,追加高分。

功能:在屏幕上随便点几个点,然后自动生成Bezier曲线。拜托了。急啊。
最佳答案
  • 五星知识达人网友:笑迎怀羞
  • 2020-04-29 06:28
给你发了邮件

你先看一下效果 满意后给我分数

然后我把完整代码给你
全部回答
  • 1楼网友:廢物販賣機
  • 2020-05-14 20:23
您好! 不知道这都对你有没有帮助 procedure bezier(a:plotarray; maxcontrpoints:integer; var b:plotarray; var maxintpoints:integer); const maxcontrolpoints=25; type combiarray=array [0..maxcontrolpoints] of real; var n:integer; contrpoint,intpoint:integer; t,sumx,sumy,prod,deltat,quot:real; combi:combiarray; begin maxcontrpoints:=maxcontrpoints-1; deltat:=1.0/(maxintpoints-1); combi[0]:=1; combi[maxcontrpoints]:=1; for n:=0 to maxcontrpoints-2 do combi[n+1]:=combi[n]*(maxcontrpoints-n)/(n+1); for intpoint:=1 to maxintpoints do begin t:=(intpoint-1)*deltat; if t<=0.5 then begin prod:=1.0-t; quot:=prod; for n:=1 to maxcontrpoints-1 do prod:=prod*quot; quot:=t/quot; sumx:=a[maxcontrpoints+1].x; sumy:=a[maxcontrpoints+1].y; for n:=maxcontrpoints downto 1 do begin sumx:=combi[n-1]*a[n].x+quot*sumx; sumy:=combi[n-1]*a[n].y+quot*sumy; end; end else begin prod:=t; quot:=prod; for n:=1 to maxcontrpoints-1 do prod:=prod*quot; quot:=(1-t)/quot; sumx:=a[1].x; sumy:=a[1].y; for n:=1 to maxcontrpoints do begin sumx:=combi[n]*a[n+1].x+quot*sumx; sumy:=combi[n]*a[n+1].y+quot*sumy; end; end; b[intpoint].x:=sumx*prod; b[intpoint].y:=sumy*prod; end; end; 有问题请发百度消息给我,谢谢啦。。。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯