我正在開發一個轉由turn導航軟件,我用以下解決方案,使我的道路線爲2.5D或3D視圖問題的地圖
Draw 2.5D or 3D Map with C# from lines
然而,上述解決方案是針對作爲0 < X <寬度和0 <ÿ<高度視口內線相當好。然而,有些線條的點可能具有y或< 0或y> height或x> width,然後上述解決方案變得瘋狂。任何人都可以幫我弄清楚如何解決這個問題?
VVVV隨着3D算法VVVV
。
VVVV沒有3D算法VVVV
更新:: 使用此代碼
double x = p->x();
double y = p->y();
double t = -0.5;
x = x - w/2;
y = y - h/2;
double a = h/(h + y* sin(t));
double u = a * x + w/2;
double v = a * y * cos(t) + h/2;
p->setX(u);
p->setY(v);
return p;
的地圖變成像下面的
我想以後有什麼毛病Y的計算,當他們走的路超越負面價值。我正在使用Qt,並且在Qt渲染器上出現裂縫,這與我們原來的問題無關。
是的,另外,不是繪製一條恆定厚度的線,而是繪製出源地圖座標中相應的多邊形(矩形)。使用變換映射這4個頂點以繪製多邊形(而不是簡單的線)。這將使道路越走越小,就像他們應該做的那樣。 – 2010-09-08 20:49:50
@Tom,感謝您的輸入。 @brainjam,請你給我提供一個像x = ******或代碼片段的方程式嗎?我的弱數學使我無法從維基文章中獲得工作代碼。非常感謝 – VOX 2010-09-09 11:53:55
@VOX,我添加了一個建議的轉換。 – brainjam 2010-09-09 15:17:28