亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

嘗試創建 3x3x3 立方體,但在 OpenGL 中創建了 4x4x4

嘗試創建 3x3x3 立方體,但在 OpenGL 中創建了 4x4x4

米琪卡哇伊 2022-03-09 21:02:56
我正在嘗試創建一個 3d rubiks 立方體,但是尺寸與設置的尺寸不一致。當我將尺寸設置為 3 并創建一個 3x3x3 立方體時,我最終創建了一個 4x4x4 立方體。但是,當我將維度設置為 2 時,它會創建一個 3x3x3 多維數據集,而當維度設置為 1 時,會創建一個 1x1x1 多維數據集。有人可以幫忙嗎?謝謝!立方體代碼:#importsdim = 3cube = [[['#' for c in range(dim)] for c in range(dim)] for r in range(dim)]for i in range(dim):    for j in range(dim):        for k in range(dim):            print(cube[i][j][k], end='')        print()    print()for i in range(dim):    for j in range(dim):        for k in range(dim):            scale = 0.5            cube[i][j][k] = Piece(i * scale, j * scale, k * scale, scale)def Cube():    for i in range(dim):        for j in range(dim):            for k in range(dim):                p = cube[i][j][k]                p.draw()def main():    pygame.init()    display = (1200, 1000)    pygame.display.set_mode(display, DOUBLEBUF | OPENGL)    gluPerspective(45, (display[0] / display[1]), 0.1, 50)    glClearColor(0.6, 0.6, 0.6, 0)    glTranslatef(0.0, 0.0, -5)    glRotatef(45, 1, 1, 0)    while True:        for event in pygame.event.get():            if event.type == pygame.QUIT:                pygame.quit()                quit()        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)        Cube()        pygame.display.flip()        pygame.time.wait(10)main()
查看完整描述

1 回答

?
浮云間

TA貢獻1829條經驗 獲得超4個贊

它可能看起來那樣,因為你的作品是重疊的。


你創造你的作品在距離scale。如果我們在一維中可視化,我們得到(s代表scale):


          o         o         o  

           `-- s --′ `-- s --′ 

pos - len碎片在和之間延伸pos + len。你設置len = scale。因此,你得到的是:


           ---------o--------- 

 ---------o--------- ---------o----------    

           `-- s --′ `-- s --′ 

為了解決這個問題,您應該指定一個為間距一半的長度。所以,要么:


cube[i][j][k] = Piece(2 * i * scale, 2 * j * scale, 2 * k * scale, scale)

要么


cube[i][j][k] = Piece(i * scale, j * scale, k * scale, 0.5 * scale)

http://img1.sycdn.imooc.com//6228a5a10001ec2002400211.jpg

查看完整回答
反對 回復 2022-03-09
  • 1 回答
  • 0 關注
  • 175 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號