C# 你在评论中链接到的内容足够多,只需手工操作即可。是的,但我如何旋转它?我需要一些示例:Alon:它在动画中旋转。旋转是3D动画的正常部分。如果您想知道如何在3D中旋转立方体,请查看我在网站www.ericmickelsen.com上为动画编写的javasc
C# 你在评论中链接到的内容足够多,只需手工操作即可。是的,但我如何旋转它?我需要一些示例:Alon:它在动画中旋转。旋转是3D动画的正常部分。如果您想知道如何在3D中旋转立方体,请查看我在网站www.ericmickelsen.com上为动画编写的javasc,c#,console,rotation,cube,C#,Console,Rotation,Cube,你在评论中链接到的内容足够多,只需手工操作即可。是的,但我如何旋转它?我需要一些示例:Alon:它在动画中旋转。旋转是3D动画的正常部分。如果您想知道如何在3D中旋转立方体,请查看我在网站www.ericmickelsen.com上为动画编写的javascript。或者只是查一下。如果你想要一些像你在评论中链接到的例子一样简单的东西,就用手去做吧。 using System; using System.Linq; using OpenTK; class Cubes { static v
你在评论中链接到的内容足够多,只需手工操作即可。是的,但我如何旋转它?我需要一些示例:Alon:它在动画中旋转。旋转是3D动画的正常部分。如果您想知道如何在3D中旋转立方体,请查看我在网站www.ericmickelsen.com上为动画编写的javascript。或者只是查一下。如果你想要一些像你在评论中链接到的例子一样简单的东西,就用手去做吧。
using System;
using System.Linq;
using OpenTK;
class Cubes
{
static void Main() {
var resolution = 25;
var points = from i in Enumerable.Range(1, 8) select new Vector3(i / 4 % 2 * 2 - 1, i / 2 % 2 * 2 - 1, i % 2 * 2 - 1);
var lines = from a in points
from b in points
where (a - b).Length == 2 // adjacent points
&& a.X + a.Y + a.Z > b.X + b.Y + b.Z // select each pair once
select new { a, b };
var t = 0f;
while (true) {
t += .1f;
var projection = Matrix4.CreatePerspectiveFieldOfView(.8f, 1, .01f, 100f);
var view = Matrix4.LookAt(2 * new Vector3((float)Math.Sin(t), .5f, (float)Math.Cos(t)), Vector3.Zero, Vector3.UnitY);
Console.Clear();
foreach (var line in lines) {
for (int i = 0; i < resolution; i++) {
var point = (1f / resolution) * (i * line.a + (resolution - 1 - i) * line.b); // interpolate a point between the two corners
var p1 = 5 * Vector3.Transform(point, view * projection) + new Vector3(30, 20, 0);
Console.SetCursorPosition((int)p1.X, (int)p1.Y);
Console.Write("#");
}
}
Console.ReadKey();
}
}
}
#
######
#### # ##
#### # ##
#### # ##
### # ##
## # ###
### # ##
# ## # ##
# ## # ###
# ## # ### #
# ## # ### #
# ## ##### #
# ## ### #
# ##### # #
# # # #
# # # #
# # # #
# # # #
# # # #
# # # #
# # ##### #
# ### ## #
# ##### ## #
# ### # ## #
# ### # ## #
### # ## #
## # ## #
## # ###
### # ##
## # ###
## # ####
## # ####
## # ####
######
#
#
######
## # ###
## # ###
## # ####
## # ####
## # ##
## # ###
# # ## #
## # ## #
# #### # ## #
# #### # # #
# #### ## #
# ##### ## #
# # #### #
# # # #
# # # #
# # # #
# # # #
# # # #
# # # #
# #### # #
# ## ##### #
# ## #### #
# # # #### #
# ## # #### #
# ## # ##
# ## # #
### # ##
## # ##
#### # ##
#### # ##
### # ##
### # ##
######
#
#
##############
# ##########
## ##
## ##
### ###
# # # #
# # # #
## # ## #
# # # #
## # # #
############## # #
# # ########## #
# # # #
# # # #
# # # #
# # # #
# # # #
# # # #
# # # #
# # # #
# ########## # #
# # ##############
# # # ##
# # # #
# ## # ##
# # # #
# # # #
### ###
## ##
## ##
########## #
##############
#