在lua中旋转3D模型

我有一个丑陋的十二面体模型,我需要在每个轴上旋转(实时):

local phi = 1.618
local b = 1 / phi
local c = 2 - phi
  self.polys = {
    {{ c,  0,  1},   {-c,  0,  1},   {-b,  b,  b},   { 0,  1,  c},   { b,  b,  b}},
    {{-c,  0,  1},   { c,  0,  1},   { b, -b,  b},   { 0, -1,  c},   {-b, -b,  b}},
    {{ c,  0, -1},   {-c,  0, -1},   {-b, -b, -b},   { 0, -1, -c},   { b, -b, -b}},
    {{-c,  0, -1},   { c,  0, -1},   { b,  b, -b},   { 0,  1, -c},   {-b,  b, -b}},
    {{ 0,  1, -c},   { 0,  1,  c},   { b,  b,  b},   { 1,  c,  0},   { b,  b, -b}},
    {{ 0,  1,  c},   { 0,  1, -c},   {-b,  b, -b},   {-1,  c,  0},   {-b,  b,  b}},
    {{ 0, -1, -c},   { 0, -1,  c},   {-b, -b,  b},   {-1, -c,  0},   {-b, -b, -b}},
    {{ 0, -1,  c},   { 0, -1, -c},   { b, -b, -b},   { 1, -c,  0},   { b, -b,  b}},
    {{ 1,  c,  0},   { 1, -c,  0},   { b, -b,  b},   { c,  0,  1},   { b,  b,  b}},
    {{ 1, -c,  0},   { 1,  c,  0},   { b,  b, -b},   { c,  0, -1},   { b, -b, -b}},
    {{-1,  c,  0},   {-1, -c,  0},   {-b, -b, -b},   {-c,  0, -1},   {-b,  b, -b}},
    {{-1, -c,  0},   {-1,  c,  0},   {-b,  b,  b},   {-c,  0,  1},   {-b, -b,  b}}
  }

我遇到的主要问题是我完全不知道自己在做什么。

点赞
用户4403144
用户4403144

这是个简短的问题,但是涉及的话题可能很多。我建议您从这里开始,了解3D旋转的数学背景。

如果您真的很感兴趣,我建议您查看这个网站上的“3D电子书”链接。这本书针对的是iPad上的Lua编程环境_Codea_的用户。它引导您了解旋转3D立方体这个主要例子。请注意,代码不完全可移植到其他Lua编程环境中,因为它依赖一些内置的Codea函数。但是,总的来说它是一个很容易理解3D概念的入门级别的教程,并且使用了Lua。而且顺便说一下,Codea确实很棒。

如果您正在寻找别人来为您编写代码,那么这里可能不是最好的地方。最好先学习概念,并在遇到问题时寻求SO的帮助。

2018-07-06 00:57:14