2012-07-09 61 views
0

我正在發射一個球體周圍的拋射物。我的代碼以逆時針方向移動它就好了。不過,我希望它以順時針方向移動。順時針遞增我的球座標

我猜這是一個調整我的數學問題。

// these are my stepping and incrementing variables 

int goose1_egg1_step = 1; 
int &r_goose1_egg1_step = goose1_egg1_step; 
float goose1_egg1_divider = 17500; 

// the starting theta/phi values are: 5 and 5 

int goose1_egg1_theta=5; 
int goose1_egg1_phi=5; 

// the ending theta/phi values are: 7 and 1 
// there is a difference of 2 between the start and end theta values 
// there is a difference of 4 between the start and end phi values 

float goose1_egg1_theta_increment = 2/goose1_egg1_divider; 
float goose1_egg1_phi_increment = 4/goose1_egg1_divider; 

這是我的功能,顯示更新後的座標與球體每一幀:

if (goose1_egg1_step < goose1_egg1_divider) 
{ 
    float goose1_egg1_theta_math = (goose1_egg1_theta+(goose1_egg1_theta_increment* r_goose1_egg1_step))/10.0*M_PI; 
    float goose1_egg1_phi_math = (goose1_egg1_phi-(goose1_egg1_phi_increment* r_goose1_egg1_step))/10.0*2*M_PI; 
    r_goose1_egg1_x = Radius * sin(goose1_egg1_theta_math) * cos(goose1_egg1_phi_math); 
    r_goose1_egg1_y = Radius * sin(goose1_egg1_theta_math) * sin(goose1_egg1_phi_math); 
    r_goose1_egg1_z = Radius * cos(goose1_egg1_theta_math); 

    glPushMatrix(); 
    glTranslatef(r_goose1_egg1_x,r_goose1_egg1_y,r_goose1_egg1_z); 
    glColor3f (1.0, 0.0, 0.0); 
    glutSolidSphere (0.075,5,5); 
    glEnd(); 
    glPopMatrix(); 
} 

這裏是我如何遞增步進值:

if (r_goose1_egg1_step < goose1_egg1_divider)  
{ 
    ++(r_goose1_egg1_step); 
}  
else 
    r_goose1_egg1_step=1; 
+1

如果您認爲這是一個調整數學的問題,那麼您應該先嚐試一下。 – anthropomorphic 2012-07-10 00:04:27

+0

+1(抵消)不明白downvote。看起來對我來說是一個完全合法的問題。反對的觀點值得歡迎。 – 2012-07-10 13:51:06

回答

0

即使你是在一個球體中談論「順時針運動」,當它在飛機上對我來說只是有意義的時候,在我看來,只要改變兩條線上的信號就可以完成你想要做的事情,這兩條線你創建了goose1_egg1_theta_mathgoose1_egg1_phi_math,像這樣:

float goose1_egg1_theta_math = (goose1_egg1_theta-(goose1_egg1_theta_increment* r_goose1_egg1_step))/10.0*M_PI; 
    float goose1_egg1_phi_math = (goose1_egg1_phi+(goose1_egg1_phi_increment* r_goose1_egg1_step))/10.0*2*M_PI; 

這應該扭轉你增加你球面座標的方式,給你你要尋找的「逆時針」的議案。

+0

非常感謝您的回覆。我的3D數學不是很熱(顯然),你的建議做到了。在此期間,我一直在乘以-1等所有其他罪/ cos - 在黑暗中拍攝......所以我很感激它。我原來的帖子遺漏了我的一些文字,所以我虛心地感謝你。 – kropcke 2012-07-10 06:52:30

+0

@kropcke我很高興我能幫上忙。 :) 如果這是你正在尋找的東西,你應該將它標記爲答案,這樣其他人就會知道這不再是一個懸而未決的問題。 – MeloMCR 2012-07-10 11:16:00

+0

再次感謝MeloMCR。剛剛標記了一下。我希望在未來幫助回答其他人的問題。 – kropcke 2012-07-10 18:27:45