使用Three.js

使用Three.js,three.js,Three.js,上下文:尝试使用THREE.js并使用它显示圆锥曲线 方法:创建顶点网格,然后将face4连接到所有顶点。使用两个面来生成正面和背面,这样当圆锥曲线旋转时,摄影机从哪个角度查看它就无关紧要了 遇到的问题:1。试图找到一个好方法来创建一个直观的鼠标旋转方案。如果你在球坐标系下思考,那么感觉就像是上/下改变φ和左/右改变φ就行了。但这需要你可以移动相机。据我所知,除了物体外,没有办法主动改变任何物体的旋转。有人知道如何更改摄影机或场景的旋转吗?2.有没有比创建网格更好的绘制函数的方法?如果网格有多个

上下文:尝试使用THREE.js并使用它显示圆锥曲线

方法:创建顶点网格,然后将face4连接到所有顶点。使用两个面来生成正面和背面,这样当圆锥曲线旋转时,摄影机从哪个角度查看它就无关紧要了

遇到的问题:1。试图找到一个好方法来创建一个直观的鼠标旋转方案。如果你在球坐标系下思考,那么感觉就像是上/下改变φ和左/右改变φ就行了。但这需要你可以移动相机。据我所知,除了物体外,没有办法主动改变任何物体的旋转。有人知道如何更改摄影机或场景的旋转吗?2.有没有比创建网格更好的绘制函数的方法?如果网格有多个点,则速度太慢;如果网格有几个点,则无法轻松确定圆锥曲线的形状


任何形式的帮助都是最好的。

我仍在学习Three.js,所以我不确定你问题的第二部分。 对于第一部分,要更改摄影机,有一种非常好的方法,它还可以包括缩放和移动场景:轨迹球摄影机

有关确切的代码及其使用方法,您可以查看:


在这一页的底部(http://mrdoob.com/122/Threejs)您可以看到示例正在运行(地球仪位于底部第三行)。

我仍在学习Three.js,因此我不确定您问题的第二部分。 对于第一部分,要更改摄影机,有一种非常好的方法,它还可以包括缩放和移动场景:轨迹球摄影机

有关确切的代码及其使用方法,您可以查看:


在这一页的底部(http://mrdoob.com/122/Threejs)您可以看到正在运行的示例(地球仪位于底部第三行)。

three.js相机有一个轨道控制脚本

我不确定我是否理解旋转位。您确实希望旋转对象,但如果正确,旋转是相对的

旋转或移动摄影机时,将为该位置/旋转计算一个矩阵,它确实会在保持摄影机静止的同时旋转场景

但这与此无关,因为您在模型/世界空间中工作,并且您将相机放置在其中,引擎负责发动机罩下的旋转


您可能需要设置一个对象,用球坐标连接旋转,并将相机作为子对象链接到此对象。沿摄影机Z轴相对于对象的平移应模拟您的小车(缩放是FOV更改)。

three.js摄影机有一个动态观察控制脚本

我不确定我是否理解旋转位。您确实希望旋转对象,但如果正确,旋转是相对的

旋转或移动摄影机时,将为该位置/旋转计算一个矩阵,它确实会在保持摄影机静止的同时旋转场景

但这与此无关,因为您在模型/世界空间中工作,并且您将相机放置在其中,引擎负责发动机罩下的旋转


您可能需要设置一个对象,用球坐标连接旋转,并将相机作为子对象链接到此对象。沿相机Z轴相对于对象的平移应模拟您的小车(缩放是FOV更改)。

您可以通过更改相机的位置来旋转相机。请参见我粘贴在此处的代码:

正如其他人所说,OrbitControls.js是用户管理相机的直观方式

在构建formulatoy.net时,我解决了许多相同的问题。我使用了变形几何体,因为我发现将3d数学函数映射到UV曲面只需要v小代码,并且它允许实现不同坐标系(笛卡尔坐标系、球面坐标系、圆柱坐标系)的简单方法

我想你可以用粒子代替网格,但网格似乎是最好的。如果您试图从数学上理解曲面,晶格材质就不太有用。在这一点上,我正在考虑在表面上画我自己的X,Y线(或φ,θ线等),以更好地展示横截面


希望有帮助。

您可以通过改变相机的位置来旋转相机。请参见我粘贴在此处的代码:

正如其他人所说,OrbitControls.js是用户管理相机的直观方式

在构建formulatoy.net时,我解决了许多相同的问题。我使用了变形几何体,因为我发现将3d数学函数映射到UV曲面只需要v小代码,并且它允许实现不同坐标系(笛卡尔坐标系、球面坐标系、圆柱坐标系)的简单方法

我想你可以用粒子代替网格,但网格似乎是最好的。如果您试图从数学上理解曲面,晶格材质就不太有用。在这一点上,我正在考虑在表面上画我自己的X,Y线(或φ,θ线等),以更好地展示横截面


希望对您有所帮助。

您可以使用轨迹球控件,通过它可以放大和缩小对象、旋转对象、平移对象。在轨迹球控件中,您可以围绕对象移动相机。对象仍然相对于屏幕或渲染器中心旋转(0,0,0).

您可以使用轨迹球控件,通过该控件可以放大和缩小对象、旋转对象、平移对象。在轨迹球控件中,您可以围绕对象移动摄影机。对象仍然相对于屏幕或渲染器中心(0,0,0)旋转