0
A
回答
1
我很確定標準庫已經有這個。如果存在虛數類型,它們恰好是這樣的(real = x,imag = y,arg(val)= angle,abs(val)= radius)。使用數學庫(atan2,sin,cos和sqrt)也不是那麼困難。
1
是不是就像2功能?當然你可以用任何語言搜索它並自己轉換它。
這裏是我的代碼做矩形 - >極(另一種方式是很容易的)在C++中
Vector3 C2P (const Vector3 &v)
{
float PI=3.14159260f;
Vector3 polar;
polar.x = v.Length();
if (v.z > 0.0f) {
polar.y = (float) atan (v.z/sqrt (v.x * v.x + v.y * v.y));
}
else if (v.z < 0.0f) {
polar.y = (float) -atan (sqrt (v.x * v.x + v.y * v.y)/v.z);
}
else {
polar.y = 0.0;
}
if (v.x > 0.0f) {
polar.z = (float) atan (v.y/v.x);
}
else if (v.x < 0.0f) {
polar.z = (float) atan (v.y/v.x) + PI;
}
else if (v.y > 0) {
polar.z = PI * 0.5f;
}
else {
polar.z = -PI * 0.5f;
}
//polar.z=(polar.z/M_PI)*180;
//polar.y=(polar.y/M_PI)*180;
return polar;
}
記下該結果爲x =長度,Y =角度1 Z = angle2,弧度。
編輯: 由我的代碼,我的意思是一些代碼,我從某處偷了,像一次使用。
+3
糟糕的實現。你應該使用atan2而不是atan來避免if-elses。 – Tronic 2010-03-03 07:25:26
1
你要求的是一個Map Projection庫。最流行的開源庫之一是PROJ.4,它有一個Java Implementation。
您必須決定要使用的投影。他們有不同的屬性。 Mercator很常見,並且是Google地圖正在使用的一種。墨卡託的缺點是你不能在弧形杆上使用它。
相關問題
- 1. 將極座標圖像轉換爲直角座標系
- 2. 從直角座標轉換到對數極座標
- 3. 如何將直角座標轉換爲極座標使用函數
- 4. 將圖像從笛卡爾座標轉換爲極座標
- 5. 將笛卡爾座標轉換爲極座標 - Matlab
- 6. Mathematica 8:從直角座標轉換爲球座標
- 7. 將矩形點轉換爲極座標
- 8. 將座標轉換爲像素座標
- 9. 將座標調查座標轉換爲有效的esri座標
- 10. Java Slick2d - 如何將鼠標座標轉換爲世界座標
- 11. 如何在postgresql中將球面座標轉換爲直角座標
- 12. 對數極座標(或對數極座標)VS極座標
- 13. 將鼠標座標轉換爲Qt中的標籤座標
- 14. Java - 將MGRS座標轉換爲LatLon WGS
- 15. 將本地(=旋轉後的)座標轉換爲全局座標
- 16. 將極座標直方圖與極座標散點圖結合起來
- 17. 將座標轉換爲旋轉座標系
- 18. 將鼠標監聽器座標轉換爲圖表座標
- 19. 將屏幕鼠標座標轉換爲窗口座標
- 20. 極座標直角座標功能不輸出正確的數據
- 21. pcolormesh極座標
- 22. 極座標
- 23. 將投影的座標轉換爲常規的GPS座標android
- 24. 極座標座標是錯誤的
- 25. 將three.js場景旋轉轉換爲極座標?
- 26. 將Glut鼠標座標轉換爲opengl
- 27. 將子對象的座標轉換爲世界座標
- 28. 將相對座標轉換爲絕對座標的算法
- 29. 如何將OpenLayers中的「normal」座標轉換爲OSM座標
- 30. 如何將窗口的座標轉換爲控制座標
嗯...計算應該很簡單,如果你查閱公式並自己實現它,它可能真的幫助你理解問題域。 – 2010-03-03 07:16:14
確實如此,但問題並不重要,所以不能幫助我學習新東西。但是如果有一些已經被使用過的東西,我會知道這個水管是正確的,並且可能會有一些「很好」的方法來做其他事情......如果不是,我當然會自己寫。 – Ankur 2010-03-03 07:46:06