极其简单的问题,突然发现不好解决了,散分!

kuangke 2002-12-20 06:19:48
在delphi中怎么画一个正弦曲线,就是只在窗体的画布(canvas)上?

...全文
41 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangrenguang 2003-01-10
  • 打赏
  • 举报
回复
procedure TForm1.FormPaint(Sender: TObject);
const pi = 3.1415926;
var

y0:real;
x,y,i,j:integer;
begin
//Canvas.Pen.Color := RGB(150,200,180);
for i:=20 to 100 do
begin
Canvas.Pixels[100,5*i-80] := clBlue;
Canvas.Pixels[5*i,200] := clBlue;
end;
for j:=0 to 360 do
begin
y0 := 50*sin(2*pi*j/360);
y := 200-round(y0);
x := 100+j;
Canvas.Pixels[x,y] := clRed;
if(x mod 3) <> 0 then
begin
Canvas.MoveTo(x,200);
Canvas.LineTo(x,y);
end;
y := 200+round(y0);
Canvas.Pixels[x,y] := clRed;
end;
end;
票票飞扬 2002-12-21
  • 打赏
  • 举报
回复
将sin(x)乘上一个倍数就能接近了。

y := sin(x)*1000;
jiangshi99 2002-12-21
  • 打赏
  • 举报
回复
学习!
  • 打赏
  • 举报
回复
你找本计算方法看看吧
kuangke 2002-12-20
  • 打赏
  • 举报
回复
然后用moveto,lineto画吗?

这个参数只支持整形阿?

怎么才能把图画的精确?
westfly 2002-12-20
  • 打赏
  • 举报
回复
y = sin(x)
kuangke 2002-12-20
  • 打赏
  • 举报
回复
大虾,你写给我看看

我三角函数不大明白
cuihl 2002-12-20
  • 打赏
  • 举报
回复
学过三角函数应该就能写出来阿。
两个坐标而已

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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