全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:873
推到 Plurk!
推到 Facebook!

如何只對圖形的x軸與只對y軸旋轉

尚未結案
lanyi
一般會員


發表:18
回覆:27
積分:9
註冊:2002-06-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-11-13 11:20:18 IP:140.113.xxx.xxx 未訂閱
各位大大好,我寫了同時對xy軸旋轉,但是我直覺上認為可先對x軸旋轉,再對y軸旋轉,結果應該是一樣的,我想驗証兩者是一樣的,但是出來的結果與想像中的好像不太一樣,煩請大大告知原因,下為xy旋轉角度的程式,如何做出只對x軸與只對y軸旋轉呢?? void __fastcall TForm1::Button1Click(TObject *Sender) {     int angle=StrToInt(EdRotate->Text);     Graphics::TBitmap *Bitmap1=new Graphics::TBitmap;     Graphics::TBitmap *Bitmap2=new Graphics::TBitmap;        Bitmap1->Assign(ImageSrc->Picture->Bitmap);     float radians=(2*3.1416*angle)/360;        cosine=(float)cos(radians);     sine=(float)sin(radians);        float Point1x=(-Bitmap1->Height*sine);    //-ysin     float Point1y=(Bitmap1->Height*cosine);   // ycos        float Point2x=(Bitmap1->Width*cosine-Bitmap1->Height*sine);     float Point2y=(Bitmap1->Height*cosine+Bitmap1->Width*sine);        float Point3x=(Bitmap1->Width*cosine);    //xcos     float Point3y=(Bitmap1->Width*sine);      //xsin        minx=min(0,min(Point1x,min(Point2x,Point3x)));     miny=min(0,min(Point1y,min(Point2y,Point3y)));        maxx=max(Point1x,max(Point2x,Point3x));     maxy=max(Point1y,max(Point2y,Point3y));        Bitmap2Width=(int)ceil(maxx-minx);     Bitmap2Height=(int)ceil(maxy-miny);        Bitmap2->Height=Bitmap2Height;     Bitmap2->Width=Bitmap2Width;        for(int x=0;x=0&&Bitmap1xWidth&&Bitmap1y>=0&&Bitmap1yHeight) { Bitmap2->Canvas->Pixels[x][y]=Bitmap1->Canvas->Pixels[Bitmap1x][Bitmap1y]; } } } ImageDestxy->Picture->Bitmap=Bitmap2; delete Bitmap2; delete Bitmap1; }
anpino
版主


發表:31
回覆:477
積分:231
註冊:2003-01-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-11-21 14:36:03 IP:218.32.xxx.xxx 未訂閱
請問,您說的對x軸旋轉是什麼意思? 對y軸旋轉又是什麼意思? 我實在不了解... 圖形是2維的, 在2維的座標上, 頂多對某一點(例如原點)"旋轉"而已呀。 可不可以麻煩你用圖示? 看你的程式實在看不出來你想怎麼轉耶...(汗) 數學系是內功很強(邏輯/分析) 資工系是招式很多(程式技巧) 就像令狐沖VS東方不敗:D
系統時間:2024-05-04 5:27:02
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!