亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? unit1.pas

?? 插值計算--計算方法_delphi.rar 計算方法課程上機作業
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
  y_df := N - 1;                        //Y坐標等分單元格數

  unit_x_range := xw / x_df;            //X坐標等分單元格長度
  unit_y_range := yh / y_df;            //Y坐標等分單元格長度

  //畫出X,Y坐標軸上的"|"
  self.PaintBox1.Canvas.Pen.Color := clWhite;
  i_height := 10;                       //"|"的高度
  co_margin := 10;                      //底邊標注與X坐標的距離

  self.PaintBox1.Canvas.MoveTo(x0, y0);
  for j := 1 to N - 1 do
  begin
    xi := Round(x0 + j * unit_x_range);
    self.PaintBox1.Canvas.MoveTo(xi, y0);
    Self.PaintBox1.Canvas.LineTo(xi, y0 - i_height); //畫下邊

    self.PaintBox1.Canvas.MoveTo(xi, margin);
    Self.PaintBox1.Canvas.LineTo(xi, margin + i_height); //畫上邊
  end;

  for j := 1 to N - 1 do
  begin
    yi := Round(y0 - j * unit_y_range);
    self.PaintBox1.Canvas.MoveTo(x0, yi);
    Self.PaintBox1.Canvas.LineTo(x0 + i_height, yi); //畫左邊
    self.PaintBox1.Canvas.MoveTo(x0 + xw, yi);
    Self.PaintBox1.Canvas.LineTo(x0 + xw - i_height, yi); //畫右邊
  end;

  //畫出X數組的值在坐標下面
  self.PaintBox1.Canvas.Font.Color := clWhite;
  self.PaintBox1.Canvas.Font.Size := 10;
  for i := 1 to N + 1 do
  begin
    xi := Round(x0 + (i - 1) * unit_x_range);
    t := X[1] + (i - 1) * X_range / x_df;
    x_string := floattostr(t);
    x_string_width := self.PaintBox1.Canvas.TextWidth(x_string);
    self.PaintBox1.Canvas.TextOut(xi - Trunc(x_string_width / 2), y0 +
      co_margin, x_string);
  end;

  //畫出Y軸的坐標
  for j := 1 to N + 1 do
  begin
    yi := Round(y0 - (j - 1) * unit_y_range);
    t := min + (j - 1) * Y_range / y_df;
    y_string := floattostr(t);
    y_string_width := self.PaintBox1.Canvas.TextWidth(y_string);
    y_string_height := self.PaintBox1.Canvas.TextHeight(y_string);
    self.PaintBox1.Canvas.TextOut(x0 - co_margin - y_string_width, yi -
      trunc(y_string_height / 2), y_string);
  end;

end;

procedure TForm_main.PaintBox1Paint(Sender: TObject);
begin
  //  self.PaintFrame();
end;

procedure TForm_main.Button2Click(Sender: TObject);
var
  i, j, x_df, y_df, xi, yi, i_height, co_margin: integer;
  yh, xw            : integer;
  sw                : integer;
  margin, x0, y0    : integer;
  dy, dx            : double;
  t, max, min, X_range, Y_range, unit_x_range, unit_y_range: double;
  x_string_width, y_string_width, y_string_height: integer;
  x_string, y_string: string;
  flag, n_cj        : integer;
  //100等份  每個點的坐標
  PX                : array[1..PN + 1] of double;
  PY                : array[1..PN + 1] of double;

  sx                : double;

begin
//  {
    //--------------------------開始畫邊框------------------------------------------
  Y_range := 0;
  self.PaintBox1.Canvas.Pen.Color := clWhite;

  margin := 50;                         //設置邊距

  yh := self.PaintBox1.Height - 2 * margin;
  xw := self.PaintBox1.Width - 2 * margin;
  x0 := margin;
  y0 := margin + yh;

  self.PaintBox1.Canvas.MoveTo(margin, margin); //畫邊框
  self.PaintBox1.Canvas.LineTo(margin, yh + margin);
  self.PaintBox1.Canvas.LineTo(xw + margin, yh + margin);
  self.PaintBox1.Canvas.LineTo(xw + margin, margin);
  self.PaintBox1.Canvas.LineTo(margin, margin);

  X_range := X[N] - X[1];               //畫坐標
  max := Y[1];
  min := Y[1];
  for i := 2 to N do
  begin
    if Y[i] >= max then
      max := Y[i];
    if Y[i] <= min then
      min := Y[i];
  end;
  Y_range := 0;
  Y_range := max - min;

  x_df := N - 1;                        //X坐標等分單元格數
  y_df := N - 1;                        //Y坐標等分單元格數

  unit_x_range := xw / x_df;            //X坐標等分單元格長度
  unit_y_range := yh / y_df;            //Y坐標等分單元格長度

  self.PaintBox1.Canvas.Pen.Color := clWhite; //畫出X,Y坐標軸上的"|"
  i_height := 10;                       //"|"的高度
  co_margin := 10;                      //底邊標注與X坐標的距離

  self.PaintBox1.Canvas.MoveTo(x0, y0);
  for j := 1 to N - 1 do
  begin
    xi := Round(x0 + j * unit_x_range);
    self.PaintBox1.Canvas.MoveTo(xi, y0);
    Self.PaintBox1.Canvas.LineTo(xi, y0 - i_height); //畫下邊

    self.PaintBox1.Canvas.MoveTo(xi, margin);
    Self.PaintBox1.Canvas.LineTo(xi, margin + i_height); //畫上邊
  end;

  for j := 1 to N - 1 do
  begin
    yi := Round(y0 - j * unit_y_range);
    self.PaintBox1.Canvas.MoveTo(x0, yi);
    Self.PaintBox1.Canvas.LineTo(x0 + i_height, yi); //畫左邊
    self.PaintBox1.Canvas.MoveTo(x0 + xw, yi);
    Self.PaintBox1.Canvas.LineTo(x0 + xw - i_height, yi); //畫右邊
  end;

  self.PaintBox1.Canvas.Font.Color := clWhite; //畫出X數組的值在坐標下面
  self.PaintBox1.Canvas.Font.Size := 10;
  for i := 1 to N do
  begin
    xi := Round(x0 + (i - 1) * unit_x_range);
    t := X[1] + (i - 1) * X_range / x_df;
    x_string := floattostr(t);
    x_string_width := self.PaintBox1.Canvas.TextWidth(x_string);
    self.PaintBox1.Canvas.TextOut(xi - Trunc(x_string_width / 2), y0 +
      co_margin, x_string);
  end;

  for j := 1 to N do                    //畫出Y軸的坐標
  begin
    yi := Round(y0 - (j - 1) * unit_y_range);
    t := min + (j - 1) * Y_range / y_df;
    y_string := floattostr(t);
    y_string_width := self.PaintBox1.Canvas.TextWidth(y_string);
    y_string_height := self.PaintBox1.Canvas.TextHeight(y_string);
    self.PaintBox1.Canvas.TextOut(x0 - co_margin - y_string_width, yi -
      trunc(y_string_height / 2), y_string);
  end;
    //-------------------------------------畫邊框結束-------------------------------

    //------------------------------計算插值----------------------------------------

  if self.RadioButton1.Checked then
    flag := 1;
  if self.RadioButton2.Checked then
    flag := 2;
  if self.RadioButton3.Checked then
  begin
      //flag := 3;
    showmessage('還沒有完成!');
  end;
  if self.RadioButton4.Checked then
    flag := 4;
  n_cj := strtoint(self.Edit_num.Text); //次數
  sx := (X[N] - X[1]) / PN;             //PN等份后 ,每等份的值
  for i := 1 to PN + 1 do               //分成PN等分,共有PN+1個點
  begin
    PX[i] := X[1] + (i - 1) * sx;
    case flag of
      1: PY[i] := self.Lagrange(PX[i], n_cj + 1);
      2: PY[i] := self.Newton(PX[i], n_cj + 1);
      3: PY[i] := self.Split(PX[i]);
      4: PY[i] := self.Cut_linear(PX[i]);
    end;

  end;
  inc(paint_num);                       //每畫一次改變顏色
    //繪制插值曲線  @_@
  case paint_num of
    1: PaintBox1.Canvas.Pen.Color := clYellow;
    2: PaintBox1.Canvas.Pen.Color := clGreen;
    3: PaintBox1.Canvas.Pen.Color := clRed;
    4: PaintBox1.Canvas.Pen.Color := clMaroon;
    5: PaintBox1.Canvas.Pen.Color := clOlive;
    6: PaintBox1.Canvas.Pen.Color := clNavy; //
    7: PaintBox1.Canvas.Pen.Color := clPurple;
    8: PaintBox1.Canvas.Pen.Color := clGray;
    9: PaintBox1.Canvas.Pen.Color := clSilver;
    10: PaintBox1.Canvas.Pen.Color := clWhite;
  else
    begin
      PaintBox1.Canvas.Pen.Color := clBlack; //表示不再畫出來
      MessageDlg('已經畫了10條,不能再畫了!', mtInformation, [mbOk], 0);
      exit;
    end;
  end;
    // PaintBox1.Canvas.Pen.Color:=clYellow;
  for j := 1 to PN do
  begin
    self.PaintBox1.Canvas.MoveTo(trunc(x0 + (PX[j] - X[1]) / X_range * xw),
      trunc(y0 - (PY[j] - min) / (max - min) * yh));
    self.PaintBox1.Canvas.LineTo(trunc(x0 + (PX[j + 1] - X[1]) / X_range * xw),
      trunc(y0 - (PY[j + 1] - min) / (max - min) * yh));
  end;
   //   }
end;
//----------------------------------------------------------------------------------------------------------

//------------坐標顯示------------

procedure TForm_main.PaintBox1MouseMove(Sender: TObject; Shift: TShiftState; Xp,
  Yp: Integer);
var
  x0, y0, margin, xw, yh: integer;
  C_X, C_Y, y_max, y_min: double;
  i, j              : integer;
begin
  margin := 50;
  xw := self.PaintBox1.Width - 2 * margin;
  yh := self.PaintBox1.Height - 2 * margin;
  x0 := margin;
  y0 := yh + margin;
  y_max := 0;
  y_min := 0;
  for i := 2 to N do
  begin
    if Y[i] >= y_max then
      y_max := Y[i];
    if Y[i] < y_min then
      y_min := Y[i];
  end;
  // C_X := X[1] + (Xp - margin) / xw * (X[N] - X[1]);
  // C_Y := y_min + (y0 - Yp) / yh * (y_max - y_min);
  C_X := X[1] + (Xp - margin) / xw * (X[N] - X[1]);
  C_Y := 0.037 + (y0 - Yp) / yh * (1 - 0.037);
 // self.StatusBar1.Panels.Items[0].Text := 'X= ' + floattostr(C_X);
  //  self.StatusBar1.Panels.Items[1].Text := 'Y= ' + floattostr(C_Y);
  self.StatusBar1.Panels.Items[0].Text := inttostr(xp) + '   ';
  self.StatusBar1.Panels.Items[1].Text := inttostr(yp);
   // 668        720
end;

procedure TForm_main.Button_resetClick(Sender: TObject);
begin
  PaintBox1.Refresh;                    //清除圖象
  paint_num := 0;                       //線條數目清0
end;

procedure TForm_main.N1Click(Sender: TObject);
begin
  //保存
end;

procedure TForm_main.N2Click(Sender: TObject);
begin
  PaintBox1.Refresh;                    //清除圖象
  paint_num := 0;                       //線條數目清0
end;

procedure TForm_main.Button_testpicClick(Sender: TObject);
var
  i, j, x_df, y_df, xi, yi, i_height, co_margin: integer;
  yh, xw            : integer;
  sw                : integer;
  margin, x0, y0    : integer;
  dy, dx            : double;
  t, max, min, X_range, Y_range, unit_x_range, unit_y_range: double;
  x_string_width, y_string_width, y_string_height: integer;
  x_string, y_string: string;
  flag, n_cj        : integer;
  //100等份  每個點的坐標
  PX                : array[1..PN + 1] of double;
  PY                : array[1..PN + 1] of double;
  sx                : double;
  tempy             : real;             //對Y的值進行處理
begin
    //--------------------------開始計算數據------------------------------------------
  memo1.Clear;
  fun100(1.1, 2.2, 3);
  //--------------------------開始畫邊框------------------------------------------
  Y_range := 0;
  self.PaintBox1.Canvas.Pen.Color := clWhite;

  margin := 50;                         //設置邊距

  yh := self.PaintBox1.Height - 2 * margin;
  xw := self.PaintBox1.Width - 2 * margin;
  x0 := margin;
  y0 := margin + yh;

  self.PaintBox1.Canvas.MoveTo(margin, margin); //畫邊框
  self.PaintBox1.Canvas.LineTo(margin, yh + margin);
  self.PaintBox1.Canvas.LineTo(xw + margin, yh + margin);
  self.PaintBox1.Canvas.LineTo(xw + margin, margin);
  self.PaintBox1.Canvas.LineTo(margin, margin);

 // X_range := X[N] - X[1];               //畫坐標
  X_range := 10;                        //畫坐標
  //max := Y[1];
 // min := Y[1];
  max := 1;
  min := 0.03;
  for i := 2 to N do
  begin
    if Y[i] >= max then
      max := Y[i];
    if Y[i] <= min then
      min := Y[i];
  end;
  // max := 1;
 // min := 0.03;
  Y_range := 0;
  Y_range := max - min;

  x_df := N - 1;                        //X坐標等分單元格數
  y_df := N - 1;                        //Y坐標等分單元格數

  unit_x_range := xw / x_df;            //X坐標等分單元格長度
  unit_y_range := yh / y_df;            //Y坐標等分單元格長度

  self.PaintBox1.Canvas.Pen.Color := clWhite; //畫出X,Y坐標軸上的"|"
  i_height := 10;                       //"|"的高度
  co_margin := 10;                      //底邊標注與X坐標的距離

  self.PaintBox1.Canvas.MoveTo(x0, y0);
  for j := 1 to N - 1 do
  begin
    xi := Round(x0 + j * unit_x_range);
    self.PaintBox1.Canvas.MoveTo(xi, y0);
    Self.PaintBox1.Canvas.LineTo(xi, y0 - i_height); //畫下邊

    self.PaintBox1.Canvas.MoveTo(xi, margin);
    Self.PaintBox1.Canvas.LineTo(xi, margin + i_height); //畫上邊
  end;

  for j := 1 to N - 1 do
  begin
    yi := Round(y0 - j * unit_y_range);
    self.PaintBox1.Canvas.MoveTo(x0, yi);
    Self.PaintBox1.Canvas.LineTo(x0 + i_height, yi); //畫左邊
    self.PaintBox1.Canvas.MoveTo(x0 + xw, yi);
    Self.PaintBox1.Canvas.LineTo(x0 + xw - i_height, yi); //畫右邊
  end;

  self.PaintBox1.Canvas.Font.Color := clWhite; //畫出X數組的值在坐標下面
  self.PaintBox1.Canvas.Font.Size := 10;
  for i := 1 to N do
  begin
    xi := Round(x0 + (i - 1) * unit_x_range);
    t := X[1] + (i - 1) * X_range / x_df;
    x_string := floattostr(t);
    x_string_width := self.PaintBox1.Canvas.TextWidth(x_string);
    self.PaintBox1.Canvas.TextOut(xi - Trunc(x_string_width / 2), y0 +
      co_margin, x_string);
  end;

  for j := 1 to N do                    //畫出Y軸的坐標
  begin
    yi := Round(y0 - (j - 1) * unit_y_range);
    t := min + (j - 1) * Y_range / y_df;
    y_string := floattostr(t);
    y_string_width := self.PaintBox1.Canvas.TextWidth(y_string);
    y_string_height := self.PaintBox1.Canvas.TextHeight(y_string);
    self.PaintBox1.Canvas.TextOut(x0 - co_margin - y_string_width, yi -
      trunc(y_string_height / 2), y_string);
  end;
  //-------------------------------------畫邊框結束-------------------------------

  //------------------------------計算插值----------------------------------------

  PaintBox1.Canvas.Pen.Color := clwhite; // clYellow; //
  ////////////////
  max := 1;
  min := 0.03;
  ////////////////
  for j := 1 to 99 do
  begin
 // {原函數
    PaintBox1.Canvas.MoveTo(trunc(x0 + (Points[j, 1] + 5) / X_range * xw),
      trunc(y0 - (Points[j, 2] - min) / (max - min) * yh));
    PaintBox1.Canvas.LineTo(trunc(x0 + (Points[j + 1, 1] + 5) / X_range * xw),
      trunc(y0 - (Points[j + 1, 2] - min) / (max - min) * yh));
   //   showmessage('hi');
     // PaintBox1.Canvas.Refresh;
      PaintBox1.Update;
     //}
     {
      //插值計算
      if Points[j, 3]<-1 then tempy:=0;
      if Points[j, 3]>2 then tempy:=1;
    PaintBox1.Canvas.MoveTo(trunc(x0 + (Points[j, 1] + 5) / X_range * xw),
      trunc(y0 - (tempy - min) / (max - min) * yh));

    PaintBox1.Canvas.LineTo(trunc(x0 + (Points[j + 1, 1] + 5) / X_range * xw),
     trunc(y0 - (tempy - min) / (max - min) * yh));
}
  end;
 memo1.Lines.LoadFromFile('func1.txt');
end;

procedure TForm_main.FormResize(Sender: TObject);
begin
//  self.Button_testpic.Click;
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲不卡av一区二区三区| 亚洲五码中文字幕| 欧美男女性生活在线直播观看| 毛片不卡一区二区| 一区二区三区在线观看网站| 日韩区在线观看| 色噜噜狠狠成人网p站| 韩日av一区二区| 香港成人在线视频| 亚洲色图色小说| 久久精品视频一区二区三区| 91精品国产91久久久久久一区二区| 99久久久免费精品国产一区二区| 国产综合一区二区| 麻豆精品精品国产自在97香蕉| 亚洲午夜一区二区三区| 亚洲男同1069视频| 综合色天天鬼久久鬼色| 久久九九99视频| 久久这里只有精品首页| 精品国产乱码久久久久久久 | 中文字幕欧美一区| 精品国产免费人成在线观看| 7777精品伊人久久久大香线蕉的| 91丝袜美女网| 色综合视频在线观看| 成人午夜精品在线| 国产成人av电影在线| 国产一区二区不卡| 国产裸体歌舞团一区二区| 秋霞午夜鲁丝一区二区老狼| 日韩和的一区二区| 青青草91视频| 免费成人在线观看视频| 蜜芽一区二区三区| 久久精品国产亚洲aⅴ| 国产九色精品成人porny| 日本不卡不码高清免费观看| 奇米一区二区三区av| 日本欧美加勒比视频| 日韩二区三区在线观看| 亚洲mv在线观看| 午夜久久久久久久久久一区二区| 一区二区欧美视频| 日韩综合一区二区| 日韩精品视频网| 久久精品99国产精品日本| 日韩精品成人一区二区在线| 热久久国产精品| 黄网站免费久久| 国产精品一区二区无线| 波多野结衣视频一区| 日本精品一级二级| 欧美精品1区2区3区| 欧美一区二区三区免费观看视频 | 日韩欧美在线影院| 精品久久久久99| 国产精品久久久久久久久搜平片 | 91免费观看在线| 欧美性淫爽ww久久久久无| 欧美久久久一区| 久久综合av免费| 亚洲另类春色校园小说| 日韩成人免费电影| 国产久卡久卡久卡久卡视频精品| 97久久超碰国产精品电影| 欧美视频在线不卡| 亚洲精品一区二区精华| 自拍偷拍亚洲欧美日韩| 日韩中文字幕亚洲一区二区va在线| 久久精品国产一区二区三区免费看 | 91精品国产美女浴室洗澡无遮挡| 久久久不卡网国产精品一区| 一区二区三区久久| 国内久久精品视频| 色婷婷综合中文久久一本| 欧美一区二区在线观看| 国产亚洲精品7777| 亚洲一二三区在线观看| 美女久久久精品| 91在线精品秘密一区二区| 538在线一区二区精品国产| 国产欧美综合色| 亚洲成人av电影在线| 国产东北露脸精品视频| 欧美色窝79yyyycom| 久久久久久亚洲综合| 亚洲电影第三页| 高清在线不卡av| 91.xcao| 中文字幕制服丝袜成人av| 天天色综合天天| 99久久精品免费| 欧美不卡一二三| 亚洲福利一区二区三区| 成人黄色小视频在线观看| 日韩视频免费观看高清完整版在线观看| 最新国产成人在线观看| 老司机精品视频线观看86 | 欧美精品一二三| 国产精品九色蝌蚪自拍| 激情综合色播激情啊| 欧美精品丝袜久久久中文字幕| 中文字幕不卡三区| 精品一区二区三区免费毛片爱| 日本道在线观看一区二区| 国产精品理论片在线观看| 本田岬高潮一区二区三区| 日韩欧美国产1| 午夜久久久久久久久| 在线视频你懂得一区| 国产精品人成在线观看免费| 国产一区二区精品久久| 欧美一区二区在线看| 亚洲va国产va欧美va观看| 一本色道综合亚洲| 中文字幕色av一区二区三区| 国产成人综合亚洲91猫咪| 精品欧美一区二区三区精品久久 | 久久久久国产一区二区三区四区| 日韩高清在线不卡| 欧美嫩在线观看| 亚洲成av人**亚洲成av**| 91福利视频网站| 亚洲精品国产成人久久av盗摄 | 日韩av网站免费在线| 日本丶国产丶欧美色综合| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 国产原创一区二区三区| 久久综合五月天婷婷伊人| 国产在线播放一区| 亚洲国产高清在线观看视频| 国产精品99久久久久久久vr| 久久精品一区二区三区不卡牛牛| 国内精品久久久久影院一蜜桃| 精品伦理精品一区| 久久er精品视频| 国产欧美一区二区三区鸳鸯浴| 国产麻豆视频一区二区| 日本一区二区三级电影在线观看| 国产精品一级片| 亚洲欧美在线视频| 色老汉av一区二区三区| 午夜视频在线观看一区二区三区| 91精品国产综合久久精品| 免费看欧美美女黄的网站| 日韩一级视频免费观看在线| 久久99久久久久久久久久久| 久久亚洲精品国产精品紫薇| 国产精品一二三在| 国产精品高潮呻吟| 欧美三级日韩三级| 久久精品99国产国产精| 国产亚洲精品久| 91亚洲精品乱码久久久久久蜜桃| 伊人色综合久久天天人手人婷| 欧美视频一二三区| 激情图片小说一区| 亚洲视频在线一区观看| 欧美三级视频在线观看 | 99国产欧美另类久久久精品| 亚洲一二三四在线观看| 欧美xxx久久| 欧美日韩精品欧美日韩精品| 天天影视色香欲综合网老头| 精品999在线播放| 99国产精品久久| 亚洲成人动漫精品| 国产欧美一区在线| 91高清视频在线| 麻豆国产精品视频| 一色屋精品亚洲香蕉网站| 欧美在线视频不卡| 国产在线日韩欧美| 亚洲少妇30p| 精品福利一二区| 色狠狠综合天天综合综合| 美女mm1313爽爽久久久蜜臀| 国产精品福利一区| 日韩三级视频在线观看| 91在线porny国产在线看| 免费看欧美女人艹b| 亚洲视频狠狠干| 久久午夜色播影院免费高清| 色乱码一区二区三区88| 国内外成人在线视频| 亚洲最快最全在线视频| 国产日韩欧美一区二区三区综合| 欧美亚一区二区| 成人性生交大片免费看在线播放 | 有坂深雪av一区二区精品| 欧美电视剧在线观看完整版| 色综合久久88色综合天天6| 国产一区激情在线| 亚洲成人综合视频| 亚洲欧美综合另类在线卡通| 久久久影视传媒| 日韩欧美成人一区二区| 欧美日韩国产美女| 成人教育av在线|