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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mainu.pas

?? 實(shí)現(xiàn)3D 圓球的放大縮小,左右轉(zhuǎn)動(dòng)的功能
?? PAS
字號(hào):
unit mainu;
{
This program was created to help show you how to display 3D models without using DirectX, OpenGl...
but instead just your own code.

Feel free to change anything you want.
You might try adding different types of shapes to the model like cubes, pyramids, cylinders...

My email address is greijos@hotmail.com
}

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    ScrollBar1: TScrollBar;
    ScrollBar2: TScrollBar;
    Button1: TButton;
    Button2: TButton;
    ScrollBar3: TScrollBar;
    procedure FormCreate(Sender: TObject);
    procedure FormPaint(Sender: TObject);
    procedure ScrollBar1Change(Sender: TObject);
    procedure ScrollBar2Change(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure ScrollBar3Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
  tpoint3d = record
     x,y,z: real;
  end;
  TLine = record
      p1,p2: tpoint3d; // coordinates of the 2 points on the ends of the line segment
  end;

var
  Form1: TForm1;
   lines: array of TLine; // all the lines in a 3D wireframe model

   mv: integer; // the vertical middle
   mh: integer; // the horizontal middle
   h,v: real; // the angles
   cosh,sinh,cosv,sinv: real;
   // precalculated trig values for xyztox and xyztoy functions
   sz: real; // magnification
   
implementation

{$R *.DFM}
function xyztox(x,y,z: real): integer;
begin
     result:=mh+round((x*cosh+z*sinh)*sz);
end;

function xyztoy(x,y,z: real): integer;
begin
     result:=mv+round(sz*(y*cosv+(-x*sinh+z*cosh)*sinv));
end;
{ the above 2 functions were created with math related to the projection of a point in space onto a 2D graph.
It is quite difficult to explain the math but I have created a program to help illustrate how the math works.

If you want to get this illustration program or have any specific questions, contact me about it.
}

procedure UpdateDisplay;
var
  bit1: tbitmap;
  x: integer;
begin
     // start by updating the settings for drawing the display
     mv:=form1.clientheight shr 1; // same as div 2
     mh:=form1.clientwidth shr 1;
     cosh:=cos(h);
     sinh:=sin(h);
     cosv:=cos(v);
     sinv:=sin(v);
     // settings now updated
     bit1:=tbitmap.create;
     bit1.height:=form1.clientheight;
     bit1.width:=form1.clientwidth;
     // now the dimensions of the bitmap are updated
     for x:=high(lines) downto 0 do
     with bit1.canvas do
     begin
          moveto(xyztox(lines[x].p1.x,lines[x].p1.y,lines[x].p1.z),xyztoy(lines[x].p1.x,lines[x].p1.y,lines[x].p1.z));
          lineto(xyztox(lines[x].p2.x,lines[x].p2.y,lines[x].p2.z),xyztoy(lines[x].p2.x,lines[x].p2.y,lines[x].p2.z));
     end;
     form1.canvas.draw(0,0,bit1); // draw the bitmap on the form to show the user the update
     bit1.free;
     // free the bitmap so it doesn't waste memory
end;

procedure Addline(ln1: TLine);
begin
     SetLength(lines,high(lines)+2);
     lines[high(lines)]:=ln1;
end;

procedure AddSphere(r: real; c: tpoint3d);
// r = the radius of the sphere
// c = the centre point of the sphere
var
  ln1: tline;
  x,y: integer;
  lat,long: real;
  cr: real; // the radius of a circle inside the sphere
begin
     for y:=-3 to 3 do // draw lines in circles parallel to the equator
     begin
          lat:=y*pi/6;
          ln1.p1.y:=r*sin(lat)+c.y;
          ln1.p2.y:=ln1.p1.y;
          // calculated the y coordinate of a circle in the sphere
          for x:=0 to 12 do
          begin
               long:=x*pi/6;
               cr:=r*cos(lat);
               ln1.p1:=ln1.p2;
               ln1.p2.x:=cr*cos(long)+c.x;
               ln1.p2.z:=cr*sin(long)+c.z;
               if x<>0 then
                  Addline(ln1);
          end;
     end;
     for x:=0 to 12 do // reverse the wire pattern so it looks like a grid
     // draw the pattern parallel to the meridians
     begin
          long:=x*pi/6;
          for y:=-3 to 3 do
          begin
               lat:=y*pi/6;
               ln1.p1:=ln1.p2;
               cr:=r*cos(lat);
               ln1.p2.x:=cr*cos(long)+c.x;
               ln1.p2.z:=cr*sin(long)+c.z;
               ln1.p2.y:=r*sin(lat)+c.y;
               // calculated the y coordinate of a circle in the sphere
               if y<>-3 then
                  Addline(ln1);
          end;
     end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
     randomize; // generate a random seed so the random function won't keep returning the same results.
     sz:=1;
     h:=scrollbar1.position*pi/180;
     v:=scrollbar2.position*pi/180;
     // set initial values
end;

procedure TForm1.FormPaint(Sender: TObject);
begin
     UpdateDisplay;
end;

procedure TForm1.ScrollBar1Change(Sender: TObject);
begin // update the horizontal rotation angle
     h:=scrollbar1.position*pi/180;
     updatedisplay;
end;

procedure TForm1.ScrollBar2Change(Sender: TObject);
begin // update the vertical rotation angle
     v:=scrollbar2.position*pi/180;
     updatedisplay;
end;

procedure TForm1.Button1Click(Sender: TObject);
var // create a random sphere
  c: tpoint3d;
begin
     c.x:=random(300-150);
     c.y:=random(300-150);
     c.z:=random(300-150);
     AddSphere(random(50),c); // add the sphere to the model
     updatedisplay; // show the changes to the model
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
     lines:=nil; // clear all of the information out of the lines array
     updatedisplay; // show the changes to the model
end;

procedure TForm1.ScrollBar3Change(Sender: TObject);
begin // update the magnification of the model
     sz:=scrollbar3.position/20;
     updatedisplay;
end;

end.

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲va国产天堂va久久en| 久久亚洲精品小早川怜子| 欧美sm美女调教| 亚洲自拍欧美精品| 成人a区在线观看| 久久综合久久综合九色| 日产精品久久久久久久性色| 日本精品视频一区二区| 国产亚洲综合在线| 激情六月婷婷久久| 日韩一区二区不卡| 五月天婷婷综合| 日本乱人伦一区| 亚洲精品视频在线观看网站| 波多野结衣一区二区三区 | 欧美区在线观看| 欧美性猛交xxxxxx富婆| 亚洲摸摸操操av| 色综合天天综合网天天看片| 亚洲国产aⅴ成人精品无吗| 色播五月激情综合网| 一区二区三区在线不卡| 欧亚洲嫩模精品一区三区| 一区二区三区在线不卡| 欧美日韩国产综合久久| 亚洲va国产va欧美va观看| 日韩一级精品视频在线观看| 精品一区二区日韩| 欧美国产日韩a欧美在线观看| 极品少妇xxxx偷拍精品少妇| 久久久精品一品道一区| 国产99久久久精品| 亚洲人成人一区二区在线观看| 91视频免费看| 午夜伊人狠狠久久| 精品欧美久久久| 成人精品小蝌蚪| 亚洲黄色录像片| 日韩欧美国产小视频| 国产中文字幕一区| 亚洲婷婷综合色高清在线| 在线观看日韩电影| 久久av资源网| 国产精品三级av| 欧美日韩国产精选| 国产sm精品调教视频网站| 亚洲蜜桃精久久久久久久| 91精品久久久久久久91蜜桃| 国产成人精品影视| 亚洲国产日韩a在线播放| 欧美精品一区二区三区一线天视频| 国内精品自线一区二区三区视频| 国产欧美日韩中文久久| 欧美偷拍一区二区| 国产成人精品免费在线| 亚洲成人中文在线| 国产性色一区二区| 欧美日本一区二区三区四区| 国产精品亚洲综合一区在线观看| 亚洲视频一二三区| 欧美精品一区二| 欧美三级电影在线看| 国产精品乡下勾搭老头1| 午夜欧美在线一二页| 国产色综合一区| 欧美一区欧美二区| 91美女在线视频| 国产盗摄视频一区二区三区| 男女男精品视频| 亚洲综合精品久久| 中文一区在线播放| 精品日韩在线观看| 欧美少妇一区二区| 成人91在线观看| 国产原创一区二区三区| 亚洲一区二区偷拍精品| 国产精品国产馆在线真实露脸| 欧美一级日韩免费不卡| 91影视在线播放| 国产91在线观看| 黑人巨大精品欧美一区| 日韩高清欧美激情| 亚洲福利视频一区二区| 欧美激情中文不卡| 久久久久久久久久久久久夜| 欧美一区二区三区白人| 欧美三区在线观看| 欧美主播一区二区三区美女| 97精品国产露脸对白| 国产v综合v亚洲欧| 国产精品一区在线观看你懂的| 美女一区二区视频| 日本中文一区二区三区| 亚洲第一成人在线| 综合久久给合久久狠狠狠97色 | 男女性色大片免费观看一区二区| 成人高清免费观看| 精品国产乱码久久久久久1区2区| 91精品中文字幕一区二区三区| 成人妖精视频yjsp地址| 国产精品中文有码| 九色综合狠狠综合久久| 日本不卡不码高清免费观看| 婷婷成人综合网| 亚洲成人黄色影院| 亚洲成人黄色小说| 日韩国产精品久久久久久亚洲| 日韩激情视频网站| 美国精品在线观看| 国内成人免费视频| 国产成人啪免费观看软件| 成人av影院在线| 色综合天天综合给合国产| 色8久久精品久久久久久蜜 | 成人av集中营| 欧美性高清videossexo| 在线观看日韩精品| 欧美一卡2卡三卡4卡5免费| 91精品国产aⅴ一区二区| 2023国产一二三区日本精品2022| 久久久三级国产网站| 欧美国产精品一区二区三区| 中文字幕在线不卡一区二区三区| 亚洲精品ww久久久久久p站| 性感美女极品91精品| 久久人人97超碰com| 欧美一卡二卡在线| 91农村精品一区二区在线| 国产91在线观看丝袜| 99re6这里只有精品视频在线观看| 91久久免费观看| 日韩精品最新网址| 中文天堂在线一区| 亚洲一二三四在线| 国产精品一区二区无线| 波波电影院一区二区三区| 色偷偷久久人人79超碰人人澡| 欧美精品一二三区| 中文字幕国产精品一区二区| 亚洲黄色片在线观看| 另类小说一区二区三区| 97久久精品人人澡人人爽| 日韩欧美一区二区视频| 中文字幕久久午夜不卡| 丝袜诱惑亚洲看片| youjizz国产精品| 欧美一二区视频| 亚洲图片你懂的| 久久99久久99小草精品免视看| av电影天堂一区二区在线| 欧美一级黄色大片| 欧美电影免费观看高清完整版在线| 欧美少妇性性性| 欧美r级在线观看| 亚洲精品免费一二三区| 另类小说视频一区二区| 亚洲一区成人在线| 国产一区二区精品久久91| 欧美图片一区二区三区| 国产精品久久久久一区二区三区共| 亚洲国产aⅴ成人精品无吗| 成年人网站91| 精品国产91久久久久久久妲己 | 色丁香久综合在线久综合在线观看| 91精品国产综合久久久久久久| 亚洲欧洲韩国日本视频| 国产麻豆欧美日韩一区| 欧美久久久久久蜜桃| 亚洲免费在线电影| 成人高清免费观看| 久久精品视频在线看| 麻豆精品一区二区三区| 欧美三级一区二区| 亚洲男同1069视频| 94色蜜桃网一区二区三区| 国产综合色在线| 香蕉成人啪国产精品视频综合网| 久久夜色精品国产噜噜av| 五月婷婷久久综合| 欧洲一区二区三区在线| 亚洲免费在线电影| 91亚洲男人天堂| 成人欧美一区二区三区白人| 国产精品白丝jk白祙喷水网站| 精品国产三级a在线观看| 美腿丝袜一区二区三区| 精品人在线二区三区| 奇米影视一区二区三区小说| 欧美日韩一区 二区 三区 久久精品| 亚洲精品久久7777| 一本到三区不卡视频| 亚洲欧美日本韩国| 色久综合一二码| 亚洲午夜一区二区| 欧美日韩一区在线观看| 亚洲福利视频三区| 69堂国产成人免费视频| 麻豆91在线播放免费| 精品99久久久久久| 国产 欧美在线|