2012-06-06 70 views
-1

是否有這樣的代碼公式?我使用C#和XNA,並且在我的類中,我有一個由三個向量組成的數組(代表三角形的頂點)以及一個單獨的向量座標。基於半徑和中心座標指定三角形的頂點

我打算更新這些在循環中的位置,因爲它進一步升級到屏幕的頂部。

我想問maths.stackexchange.com,但看到這是如何適用於編程(我個人更擅長閱讀代碼而不是數學本身 - 我仍然在學校代數),我認爲它對我來說在這裏提出這個問題會更有意義。

編輯 是的,我正在尋找一個等邊三角形。或者任何三角形,就此而言。它並不重要。我所尋找的只是一個公式;難以要求嗎?

德問題

基本上,我試圖解決的問題是要拍一個三角形了我的球員(認爲太空侵略者;即,三角形作爲從光線槍射線) 。我需要的是一個代碼公式,它將允許三角形根據其中心位置和半徑進行渲染,因爲三角形會在其座標上向上移動。我有繪製調用,他們的工作,但問題是,當放在一個for循環繪製迭代(其中中心向量位置 - 在Y座標 - 增加N)簡單地坐在旁邊的玩家繪製時的位置。

+0

你在問等邊三角形嗎?否則很難說,除非你至少可以更多地瞭解兩個邊的尺寸,加上其中一個點的起始角度(假設頂部爲0),可能要用弧度跟蹤邊,以便縮放隨着半徑的增長而變得自動。如果你有2弧度,那麼你就可以從中計算出點數。你可能會考慮在學校問一位數學老師,因爲你現在已經走過了代數學。我相信他們很樂意提供幫助。 –

+0

除非您已決定並制定解決數學問題,否則不能編寫數學問題的代碼。很明顯,你甚至沒有走過那麼遠。通常,能夠清楚描述你想要做什麼的簡單行爲將幫助你編寫你需要的代碼。但是直到你理解你想解決的問題,你才能做到這一點。 – 2012-06-06 09:34:33

+0

這個問題和它的標題很混亂。如果有三個向量表示三角形的頂點,爲什麼你必須從三角形的外接圓的中心和半徑(我認爲是)指定它們? –

回答

1

我認爲這是你在找什麼... 角度是三角形的方向...... 此建立一個三角形....

void BuildTriangle(Vector2 Center, float Radius, float Angle, Vector2[] tri) 
{ 
    for (int i=0; i<3; i++) 
    { 
     t[i].X = Center.X + Radius * (float) Math.Cos(Angle + i * 2 * MathHelper.PI/3); 
     t[i].Y = Center.Y + Radius * (float) Math.Sin(Angle + i * 2 * MathHelper.PI/3); 
    } 
} 

,如果你想將它移到,向中心添加一個速度矢量並重建它...

相關問題