直角座標轉極座標 |
缺席
|
yuck
一般會員 發表:7 回覆:3 積分:2 註冊:2008-11-12 發送簡訊給我 |
如題所示:
我想要將原本的直角座標軸改為極座標軸 也就是縱座標軸為r ,橫座標軸為角度值 但現在遇到問題為,程式啟動後便死當 所以想請問各位版大 如何加速處理速度,或者是我程式本身有錯 煩請指教 程式如下 [code cpp] void __fastcall TForm1::Topolar1Click(TObject *Sender) { Graphics::TBitmap *bmp = new Graphics::TBitmap(); int i,j; bmp->Assign(Form1->Image2->Picture->Bitmap); bmp->PixelFormat=pf24bit; for(i = 0; i< bmp->Height; i ) {for(j=0; j { i=pow((pow(i,2) pow(j,2)),0.5); if(i!=0) j= atan(j/i); else j=90; //處理 x 零值 } } Form1->Image3->Picture->Assign(bmp); delete bmp; [/code] --------------------------------------------------------------------------- ikk版大 先謝謝你的答覆 我有想過將 [code cpp] i=pow((pow(i,2) pow(j,2)),0.5); if(i!=0) j= atan(j/i); else j=90; [/code] 在將原來的直角座標軸以r跟q(角度)取代 但不知道如何將座標軸變換? 改為 r=pow((pow(i,2) pow(j,2)),0.5); if(i!=0) q= atan(j/i); else q=90; |
ikk
尊榮會員 發表:4 回覆:413 積分:768 註冊:2003-06-30 發送簡訊給我 |
|
yuck
一般會員 發表:7 回覆:3 積分:2 註冊:2008-11-12 發送簡訊給我 |
|
s8131556
一般會員 發表:0 回覆:9 積分:16 註冊:2003-10-30 發送簡訊給我 |
你這程式裡面的i跟j都有點問題
[code cpp] i=pow((pow(i,2) pow(j,2)),0.5); if(i!=0) j= atan(j/i); else j=90; [/code] 應該要換成像下面這樣吧 [code cpp] r=pow((pow(i,2) pow(j,2)),0.5); if(r!=0) c= atan(j/i); else c=90; [/code] 剩下的我不是很了解,就幫不上忙啦 |
yuck
一般會員 發表:7 回覆:3 積分:2 註冊:2008-11-12 發送簡訊給我 |
|
s8131556
一般會員 發表:0 回覆:9 積分:16 註冊:2003-10-30 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |