Re: [問題] Dev C++的OpenGL寫法問題。

看板C_and_CPP作者 (阿翔)時間10年前 (2013/08/26 18:33), 編輯推噓1(107)
留言8則, 4人參與, 最新討論串4/4 (看更多)
※ 引述《bachelorwhc (單身老王)》之銘言: : ※ 引述《magicskyship (阿翔)》之銘言: : : 開發平台(Platform): (Ex: VC++, GCC, Linux, ...) : : Dev C++ : 題外話,建議別再用DevC++ : : 問題(Question): : : 我用座標來畫立體圖形, : : 原本化的座標是使用長度正負號來表示, : : 但我現在想用角度來表示X和Y軸, : : X軸和Y軸各表是為0到360度, : : 而最後Z軸為資料數據。 : : 請問我可以怎麼設定。 : 這跟API無關,單純是你怎麼設計你的程式而已。最後送進API的資料不會變。 : 你可以自己寫Function做Normalization : : 餵入的資料(Input): : : (0~360度,0~360度,資料數據) : 其實我覺得你的問題有點模糊, : 首先你的座標系是複數平面嗎?還是三維空間? : 什麼是資料數據?指的是Model嗎? : 必須要注意的是,大部分的Model使用的是正常的三維空間定義,X、Y、Z,就像 : 我說的你雖然可以決定自己的Input Layout,可是你卻也得對應OpenGL的格式。 : : 補充說明(Supplement): : : 完成後想用滑鼠來做旋轉,不用讓他自動旋轉。 : OpenGL也沒有自動旋轉這種東西,我猜你可能是用了書本的範例、卻搞不懂書本 : 範例的代碼。如果你在代碼內找不到Transform Matrix的相關操作,那作者可能 : 將"你所說的自動旋轉"寫在Shader Code裡 : 我跟上一篇板友一樣對DirectX比較熟的,在這方面你可以使用Windows的Message : Loop,捕捉Message的訊息,這就是所謂的透過OS機制、也是Win32下最簡單的方 : 法。DirectInput需要一些學習步驟,這就端看個人能力了,以我的經驗來看、普 : 通學生習慣Microsoft的API至少需要二到三個月的時間才能搞懂M$"大概"在做什麼 : 你如果想要用滑鼠控制旋轉,可以用最簡單的Euler Angle來對Object進行Trans- : form,OpenGL據我所知應該有輔助用的數學輔助庫、網路上也有很多現成的可以 : 參考。 謝謝各位的指導: 我已經可以計算Theta和Phi畫出一個類似經緯度的圓。 我現在想用的是利用Theta和Phi用座標點來畫圖, 我設定的Theta值: (0, 0, 4.08),(15, 0, 10.77),(30, 0, 15.18),(45, 0, 17.9),(60, 0, 19.61); (75,0,20.68),(90,0,21.26),(105,0,21.43),(120,0,21.03),(135,0,20.18) (150,0,18.82),(165,0,16.51),(180,0,4.08),(195,0,10.77),(210,0,15.18) (225,0,17.9),(240,0,19.61),(255,0,20.68),(270,0,21.26),(285,0,21.43) (300,0,21.03),(315,0,20.18),(345,0,16.51),(360,0,13.74) Phi的值: (0,0,4.08),(0,15,4.08),(0,30,13.07),(0,45,16.53),(0,60,17.82),(0,75,15.76) (0,90,10.78),(0,105,6.8),(0,120,14.29),(0,135,14.72),(0,150,13.9),(0,165,13.33) (0,180,13.33) 我自己用手畫可以畫出兩個類似圓的圖形,但是我用程式寫,都只能畫出兩條線, 想請問我要怎麼樣才能讓我計算的Theta和Phi的值可以抓到我輸入的數據。 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.163.134.223

08/26 19:00, , 1F
不知道為甚麼,看不太懂這篇想問什麼QQ
08/26 19:00, 1F

08/26 19:08, , 2F
我想要的方法是先連到Theta座標,在連到Phi座標
08/26 19:08, 2F

08/26 19:10, , 3F
上面的兩個數據,一個是Theta值改變,一個是Phi改變
08/26 19:10, 3F

08/26 19:11, , 4F
所以數值都是正數,所以座標是(Theta,Phi,資料數據)
08/26 19:11, 4F

08/26 22:32, , 5F
你可以用 for loop 畫一圈啊?
08/26 22:32, 5F

08/27 00:52, , 6F
我猜你是不是把這兩組數據直接輸出呀?
08/27 00:52, 6F

08/27 00:53, , 7F
因為我看theta的值,Y軸始終為零 另一個Phi的X軸始終為零
08/27 00:53, 7F

08/27 00:53, , 8F
我是沒有去畫啦,不過看起來好像是的確是兩條線齁?
08/27 00:53, 8F
文章代碼(AID): #1I6ox_5p (C_and_CPP)
文章代碼(AID): #1I6ox_5p (C_and_CPP)