1

我正在寻找在 2D Canvas 中绘制 3D 线框球体。无论如何,我都不是数学忍者,所以我想知道是否有人知道一种简单的方法来使用 lineto 弧连接在 Canvas 中绘制一个并使用 :math:

我将不胜感激任何帮助。

像这样的东西:http://en.wikipedia.org/wiki/File: Sphere_wireframe_10deg_6r.svg

我希望这是一个简单的等式,但如果你知道它不是(即绘制将是很多代码),我会很感激知道这一点,因为我可能需要重新考虑我想要做什么。

4

3 回答 3

3

对您来说最简单的方法可能是查看 SVG 文件的源代码(此处)并使用画布命令重新创建这些路径。

如果你想要一个实际的 3d 球体,投影到 2d 空间,我建议使用像 Three.js 这样的库

您还可以查看我在这里完成的一些数学运算:swarms _3d 和 Matrix 模块应该是您所需要的。

于 2012-04-05T23:07:24.840 回答
2

这一次 SO 没有帮助我,所以我帮助了自己,这就是:纯 HTML5 + JavaScript 可配置渲染或线框球体。

我从这篇出色的帖子开始,然后继续。基本上我从 Qt3D 收集了一些顶点生成代码并适应了 JS。

我不是 100% 确定轮换函数是否正确,但如果您发现错误,欢迎您回帖。

为了更清楚,我已经区分了 Z 位置,并在前面画了白色,在后面画了灰色。

这是结果(16 个环 x 32 个切片)和相关的 jsFiddle 链接

Enjoy

在此处输入图像描述

于 2017-03-10T19:04:32.487 回答
1

看看这个:http: //jsfiddle.net/aJMBp/

你应该画很多这样的线来创建一个完整的球体。这是一个很好的起点,给我 5 分钟,我会看看我是否可以改进它来绘制一个球体。

越来越好:http: //jsfiddle.net/aJMBp/1/

好的,这超出了我的能力范围。然而,这里的另一个小改进:http: //jsfiddle.net/aJMBp/2/

于 2012-04-05T22:37:57.643 回答