ShadowEditor/THREE/Math/Cylindrical.cs
2018-12-08 07:44:06 +08:00

70 lines
1.4 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace THREE
{
public class Cylindrical
{
function Cylindrical(radius, theta, y )
{
this.radius = (radius !== undefined) ? radius : 1.0; // distance from the origin to a point in the x-z plane
this.theta = (theta !== undefined) ? theta : 0; // counterclockwise angle in the x-z plane measured in radians from the positive z-axis
this.y = (y !== undefined) ? y : 0; // height above the x-z plane
return this;
}
set: function(radius, theta, y )
{
this.radius = radius;
this.theta = theta;
this.y = y;
return this;
},
clone: function()
{
return new this.constructor().copy(this);
},
copy: function(other )
{
this.radius = other.radius;
this.theta = other.theta;
this.y = other.y;
return this;
},
setFromVector3: function(v )
{
return this.setFromCartesianCoords(v.x, v.y, v.z);
},
setFromCartesianCoords: function(x, y, z )
{
this.radius = Math.sqrt(x * x + z * z);
this.theta = Math.atan2(x, z);
this.y = y;
return this;
}
}
}