VR编码
#编程 #开源 #python #unity3d

鉴于新的Apple产品的发布,我决定告诉您有关VR编码领域的一个小型研究项目。我希望这篇文章能激发读者发展该领域!

什么开始了?

挖掘了长时间的8K行遗产代码,我逐渐开始发疯。当突然想到我构建通话图时。瞧,一切突然变得清晰!这是一个突破,其他团队多次使用了这一结果。然后我发现自己反思。我们经常谈论编写文档的重要性,有时我们会编写它,但是通常很快就会过时。通常这些是依赖图或序列图,这有助于理解复杂的过程。我认为如果可以根据代码构建这些图表,那将是很棒的。这就是我对创建一种名为Gravis的视觉编程语言感到兴奋的方式。

主要想法

重点是提出一种编程语言,该语言将使您能够使用VR在三维空间中舒适地创建程序。它将允许您实时观察应用程序的工作原理。我的意思是...在这里和那里发送消息并生成元代码。此外,该语言将使您能够很好地说明算法。不仅程序员将能够享受代码的美丽。这样的代码可以是主题设计的。吸引程序员很可能会很昂贵。这将使开发变得更加明亮,并有可能制作出色的代码演示文稿。试想一下,您的工作发生在星球大战宇宙中!这不仅是美丽的,而且还允许您通过制作具有不同对象和模因的模块来使用空间内存。

例子

已经有一种成功的视觉语言 - 虚幻引擎中的蓝图。但是和他一起工作并不容易。那里仍然有文件,它们之间的相互作用是不透明的。还有一些与图形分开生存的变量,这也使您无法快速理解代码。要创建块,您仍然必须写很多文本。此情况不适合VR。

发展

有必要选择一个计算模型。我想要一些简单的东西。该代码包括注释和它们之间的连接。每个连接都会传输控制和数据。就是这样!

我对Python的爱是无尽的!因此,我开始在上面写一个口译员。实施的基本原语 - 数字,算术,分支,递归。和一个探查器。

An example of calculating the fourth Fibonacci number (the code presented in the title of the article) 计算第四个fibonacci编号的示例(文章标题中介绍的代码)

括号中的数字是操作编号,以下是传输数据。箭头传输控制和数据。虚线箭头转移控制以搜索计算丢失数据的起点。节点:I-输入,O-输出,菱形 - 条件或算术,圆圈 - 数字常数,子空间 - 递归调用。

要描述程序,我以DOT语言为基础。现在有必要可视化它。选择落在团结上。由于该项目是开源的,因此它似乎会吸引更多的支持者。我设法绘制了图。

Fibonacci in 3D 3D 中的纤维

我很快意识到,我对团结的了解还不足以进一步切割一些东西。该过程被冻结了几年。然后我决定聘请开发人员。他们增加了很多。一个成熟的编辑器,现在您可以创建节点和链接。仍然可以实现最后的预释放功能 - 将节点分组到子空间中。这将允许递归工作。但事实证明这是一项不可能的任务。所以我在这里折叠了爪子。

困难

  • 目前尚不清楚如何使用更复杂的数据结构。我有很多想法,但是我没有任何具体的东西。
  • 文字。我认为仍然有必要,语音助手会在这里帮助我们。
  • 3D图证明并不是很视觉。因此,在我在VR中的幻想中,它将更像是一幅壁画。但!在3D中,当将子空间创建为单独的层时,可以从视觉上观看执行过程。
  • 差异。我能说什么。非常困难的问题。自然,通常的CI工具将行不通。

Github project,突然有人会兴趣挖掘它。