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

極座標轉換成直角座標

答題得分者是:jow
n890377
一般會員


發表:17
回覆:16
積分:21
註冊:2006-07-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-10-23 17:24:35 IP:59.124.xxx.xxx 訂閱
各位大大好:最近有一個作業一直困擾著我....

題目是使用函數寫出一個程式,進行極座標(r,q)與二維座標(x,y)的轉換

請教各位大大幫幫我一下.....明天就要交了

------
.
jow
尊榮會員


發表:66
回覆:751
積分:1253
註冊:2002-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-10-24 00:16:19 IP:123.193.xxx.xxx 訂閱
建議你下次應該將問題表達清楚,
例如: 轉換公式, 以及輸入, 輸出的要求
還有自己初步的構想, 否則這個問題並
不難, 我想是不太想回應的人居多吧......


以下程式碼 沒有測試, 請自行除錯
練習練習吧 ^_^

[code cpp]
//---------------------------------------------------------------------------
#ifndef fMainH
#define fMainH
//---------------------------------------------------------------------------
#include
#include
#include
#include <Forms.hpp><br />#include "math.h"
//---------------------------------------------------------------------------
/*
轉換(Polar Coordinates, Cartesian Coordinates)
極座標(r,θ)轉換直角座標(r*Cosθ,r*Sinθ)
直角座標(x,y)轉換極座標([x^2 y^2]^(1/2),atan(y/x))
*/
//---------------------------------------------------------------------------
struct TCartesianPoint
{
float x, y;
};
//---------------------------------------------------------------------------
struct TPolarPoint
{
float r, q;
};
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:
private:
public:
__fastcall TForm1(TComponent* Owner);
TPolarPoint CartesianToPolar(float x, float y)
{
TPolarPoint ret;
ret.r = pow((pow(x,2) pow(y,2)),0.5);
if(x!=0) ret.q = atan(y/x);
else ret.q = atan(y/x);//處理 x 零值
return ret;
}
TCartesianPoint PolarToCartesian(float r, float q)
{
TCartesianPoint ret;
ret.x = r*cos(q);
ret.y = r*sin(q);
return ret;
}
TPolarPoint CartesianToPolar(TCartesianPoint &pt)
{
return CartesianToPolar(pt.x, pt.y);
};
TCartesianPoint PolarToCartesian(TPolarPoint &pt)
{
return PolarToCartesian(pt.r, pt.q);
};
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
[/code]
編輯記錄
jow 重新編輯於 2007-10-24 00:22:20, 註解 無‧
系統時間:2024-04-19 6:21:57
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!