線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1147
推到 Plurk!
推到 Facebook!

[BDB][問題]用pixel劃一橢圓如何改變x軸與y軸使其旋轉

尚未結案
zenko
一般會員


發表:3
回覆:2
積分:1
註冊:2004-08-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-12-02 15:39:29 IP:61.216.xxx.xxx 未訂閱
各位大大~我用公式利用cavin-pixel的方式畫出了一個橢圓 然而還需要能將此橢圓可以360度的旋轉,目前想到的方法就是改變x軸跟y軸的方式在重畫橢圓,可是怎麼想也想不出怎麼去改變x軸與y軸 希望各位大大給個提示 畫橢圓的方法使用下列兩個方式 1. for(n=0;n<360;n ) { x=asin(n); y=bcos(n); cavin->pixel[x][y]=cblack; } 2.double d1 = pow(b,2) - (pow(a,2)*b) (0.25*pow(a,2)); double d2; . . while (pow(a,2)*(y - 0.5) > pow(b,2)*(x 1)) { if (d1<0) d1 =d1 pow(b,2)*(2*x 3); else { d1 =d1 pow(b,2)*(2*x 3) pow(a,2)*(-2*y 2); y=y-1; } x=x 1; Canvas->Pixels[x d][y d]=clYellow; Canvas->Pixels[d-x][y d]=clYellow; Canvas->Pixels[x d][d-y]=clYellow; }
JerryKuo
版主


發表:42
回覆:571
積分:322
註冊:2003-03-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-12-03 11:22:12 IP:220.135.xxx.xxx 未訂閱
引言: 各位大大~我用公式利用cavin-pixel的方式畫出了一個橢圓 然而還需要能將此橢圓可以360度的旋轉,目前想到的方法就是改變x軸跟y軸的方式在重畫橢圓,可是怎麼想也想不出怎麼去改變x軸與y軸 希望各位大大給個提示 畫橢圓的方法使用下列兩個方式 1. for(n=0;n<360;n ) { x=asin(n); y=bcos(n); cavin->pixel[x][y]=cblack; } 2.double d1 = pow(b,2) - (pow(a,2)*b) (0.25*pow(a,2)); double d2; . . while (pow(a,2)*(y - 0.5) > pow(b,2)*(x 1)) { if (d1<0) d1 =d1 pow(b,2)*(2*x 3); else { d1 =d1 pow(b,2)*(2*x 3) pow(a,2)*(-2*y 2); y=y-1; } x=x 1; Canvas->Pixels[x d][y d]=clYellow; Canvas->Pixels[d-x][y d]=clYellow; Canvas->Pixels[x d][d-y]=clYellow; }
zenko你好; 你可以找到旋轉公式嗎?大學時的作業有做過,是用旋轉公式做的,當時程式技巧 不好,旋轉速度有點慢。建議你可以用旋轉公式試試看。
zenko
一般會員


發表:3
回覆:2
積分:1
註冊:2004-08-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-12-11 02:22:51 IP:61.228.xxx.xxx 未訂閱
後來自己看書找到哩 . . . for (n=-c;n>-d;n--) { A=n*M_PI/180; B=e*M_PI/180; old_x=a*cos(A); old_y=b*sin(A); new_x=cos(B)*old_x-sin(B)*old_y; new_y=sin(B)*old_x cos(B)*old_y; Canvas->Pixels[f new_x][g new_y]=clBlack; }
系統時間:2024-05-15 15:21:55
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!