画布和几何。这几乎很容易

三维图形可以在浏览器不仅采用以下方式实现的WebGL

库基于WebGL的,而且通过一个简单的渲染2D画布使用HTML5画布功能此



互联网上有很多关于如何使用

HTML5 Canvas在某些浏览器游戏中显示图形,图形甚至动画的书籍,文章和信息



但是,几乎从未考虑过直接使用画布显示三维对象的可能性。



让我们详细介绍一下。



如果正在创建三维计算机游戏(例如3D射击游戏),则开发人员将尝试使其尽可能逼真,并为此使用图形加速器。在这种情况下,没有合适的软件工具将是不可能的。对于浏览器中的此类游戏,使用WebGLThree.js是有意义的。最重要的是,借助为这些软件工具设计着色器,您可以实现场景和场景中物体的逼真的照明。



但是,如果只需要从各个角度显示三维对象,则可以不使用WebGL着色器。例如,某些CAD / CAM程序仅用于建模对象的形状,并不涉及使用逼真的照明。



在“ 画布和几何”网站上,我始终如一且详细地解释了如何仅使用HTML5画布来创建3D多面体模型的图像



六个月前,我发表了文章Three.js and geometry,属于同名Three.js and geometry网站上的30个章节(课程),其中 我描述了使用three.js显示3D多面体模型。现在,使用HTML5 Canvas创建新站点上的所有模型。但是,两个站点上模型的顶点坐标的计算完全相同。唯一的区别在于图像在屏幕上的显示方式。



基本上,这两个站点可以看作是一个单独的教程,该教程

探讨了将相同模型呈现到画布的两种方法-使用three.js,而不使用该库在画布上显示模型。通过依次或同时访问两个站点,可以看到显示相同多面体的程序的外观。



我将列出两个站点上都可用的一些功能,但是它们以不同的方式在它们上实现:



  • 您几乎可以设置模型的几乎所有参数,这些参数确定模型各个部分的大小,模型面的坡度等。
  • 查看模型顶点的编号。
  • 缩放模型。
  • ( three.js RayCaster').
  • .
  • . / .
  • 3D- . three.js .
  • .
  • .
  • .


WebGL/three.jsZ-.



Canvas ( ) .



online- JavaScript.



, prototype WebGeometry, . prototype. JavaScript. «», . .



C/C++ JavaScript .



, ( Chrome Firefox) Notepad++ JavaScript — —

.



, .



.

( ) Visual Studio.



, ,

Visul C++ . Chrome Firefox .



JavaScript React, Angular, Vue.



. . ( ) ES6.



.



online- . , , , ( ) .





canvas2D库用于渲染模型并将模型调整大小到画布上

画布实际上是HTML5 Canvas函数的一个小包装



同时,canvas2D包含的函数以与WebGeometry包含的函数一起使用最方便的方式进行制作

为在飞机和太空中进行几何计算而设计。



WebGeometry. , , 3D- . , . WebGeometry

, , .



. WebGeometry如果需要执行此类转换,则可以找到相应的功能,如果使用three.js,则可以在此库本身或流行的glMatrix库中找到

...



但是,上述两个库实际上没有解决解析几何问题的功能。



因此,制作了WebGeometry函数库

Sylvester具有一些(但不是全部)这样的功能,因此我决定基于C / C ++中的现有功能,使一个库完全适合我的任务

, three.js.



OpenGL OpenGL .



, , .



, ,

:



Three.js 16 WebGeometry ( ), three.js.



Diamond Cuts 7 WebGeometry three.js. .

three.js.



Diamond Cuts collection in environments

Diamond Cuts with Dispersion Light .



three.js.



Visual C++ . (three.js API WebGL).





页面,您可以转到此网站的页面,其中包含 36种各种切割的模型。



这些页面上的显示使用纯 WebGL API完成

   您也可以从此处下载 C / C ++ OpenGL制作 Windows程序 exe文件,以查看切割模型。多个型号的 DLL文件是从同一页面下载的。





  • 在页面上


闪耀在您疯狂的钻石上!同一站点上,您可以在舞台移动 Pink Floyd和其他乐队的音乐,并查看切出的模型。运动控制-与计算机游戏一样,鼠标和键盘(←,→,↑,↓,<,>)。显示使用 three.js完成

我认为这非常有趣。观看时别忘了打开声音!



我希望我的网站能对那些研究和使用3D图形和计算几何的人有所帮助。除了浏览站点之外,您还可以转到我的存储库

感谢大家收看我的文章!




All Articles