cesium 开发自学 方法 成员 代码示例演示 坐标 Cartesian3

笛卡尔坐标

new Cesium.Cartesian3 ( x , y , z )        Cartesian2:跳转

 

Members:   

与Cartesian2类似

Cesium.Cartesian3.packedLength : Number

Cesium.Cartesian3.UNIT_X : Cartesian3

Cesium.Cartesian3.UNIT_Y : Cartesian3

Cesium.Cartesian3.UNIT_Z : Cartesian3

Cesium.Cartesian3.ZERO : Cartesian3

 

Methods:

Cesium.Cartesian3.abs (cartesian, result) → Cartesian3        计算提供的笛卡尔坐标的绝对值

Cesium.Cartesian3.add (left, right, result) → Cartesian3        计算两个笛卡尔的按分量求和

Cesium.Cartesian3.angleBetween (left, right) → Number        返回所提供的笛卡尔坐标之间的角度(以弧度为单位)

Cesium.Cartesian3.distance (left, right) → Number        计算两点之间的距离

Cesium.Cartesian3.normalize (cartesian, result) → Cartesian3        向量归一化为单位向量

Cesium.Cartesian3.magnitude (cartesian) → Number        计算笛卡尔的大小(长度)

 

dot

Cesium.Cartesian3.dot (left, right) → Number        

从以度为单位的经度和纬度值返回Cartesian3位置

参数:

left:一个 Cartesian3 对象,表示左侧的向量

right:一个 Cartesian3 对象,表示右侧的向量

var vector1 = new Cesium.Cartesian3(2, 3, 4);
var vector2 = new Cesium.Cartesian3(5, 6, 7);

var dotProduct = Cesium.Cartesian3.dot(vector1, vector2);

console.log(dotProduct); // 输出:56

 

cross

Cesium.Cartesian3.cross (left, right, result) → Cartesian3

计算两个笛卡尔的叉(外)乘积

参数:

left:一个 Cartesian3 对象,表示左侧的向量

right:一个 Cartesian3 对象,表示右侧的向量

result:一个可选的 Cartesian3 对象,用于存储计算结果。如果提供了 result,则会将计算结果存储在该对象中并返回它

var vector1 = new Cesium.Cartesian3(2, 3, 4);
var vector2 = new Cesium.Cartesian3(5, 6, 7);
var result = new Cesium.Cartesian3();

Cesium.Cartesian3.cross(vector1, vector2, result);

console.log(result); // 输出:Cartesian3 {x: -3, y: 6, z: -3}

叉乘(又称为向量积或叉积)和点乘(又称为数量积或点积)是向量运算中的两种不同操作,它们具有不同的性质和应用。

叉乘(Cross ):

  • 定义:叉乘是两个向量的二元运算,结果是一个新的向量。对于三维向量,叉乘的结果是一个垂直于原始两个向量的向量。
  • 计算方法:叉乘的计算方法为,将两个向量的对应分量进行运算,得到一个新的向量。对于三维向量 (a1, a2, a3) 和 (b1, b2, b3),它们的叉乘结果为 (a2*b3 - a3*b2, a3*b1 - a1*b3, a1*b2 - a2*b1)
  • 性质:叉乘的结果是一个垂直于原始向量的向量,其方向符合右手法则(即大拇指指向第一个向量,食指指向第二个向量,则中指的方向为结果向量的方向)。
  • 应用:叉乘常用于计算法线向量、表面法线、旋转轴、判断向量的方向关系等。

点乘(Dot ):

  • 定义:点乘是两个向量的二元运算,结果是一个标量值(数量值)。
  • 计算方法:点乘的计算方法为,将两个向量的对应分量相乘,然后将乘积相加得到一个标量值。对于三维向量 (a1, a2, a3) 和 (b1, b2, b3),它们的点乘结果为 a1*b1 + a2*b2 + a3*b3
  • 性质:点乘的结果是两个向量之间的相似度或相关性。点乘的结果为正值时,表示两个向量的方向相似;为零时,表示两个向量垂直;为负值时,表示两个向量的方向相反。
  • 应用:点乘常用于计算向量的投影、判断向量的夹角、计算向量的长度或模等。

fromArray

Cesium.Cartesian3.fromArray (array, startingIndex , result ) → Cartesian3

从数组中的三个连续元素创建Cartesian3

参数:

array:包含向量元素的数组

startingIndex:可选参数,指定在数组中开始提取元素的索引位置。默认值为 0

result:可选参数,用于存储结果的 Cartesian3 对象。如果提供了 result,则会将提取的元素填充到该对象中并返回它

var array = [1.0, 2.0, 3.0];
var result = new Cesium.Cartesian3();

Cesium.Cartesian3.fromArray(array, 0, result);

console.log(result); // 输出:Cartesian3 {x: 1.0, y: 2.0, z: 3.0}
var v2 = [0.0, 0.0, 1.0, 2.0, 3.0];

var p2 = Cesium.Cartesian3.fromArray(v2, 2);

console.log(p2); // 输出:Cartesian3 {x: 1.0, y: 2.0, z: 3.0}

 

fromDegrees

Cesium.Cartesian3.fromDegrees (longitude, latitude, height , ellipsoid , result ) → Cartesian3

从以度为单位的经度和纬度值返回Cartesian3位置

参数:

longitude:经度值,以为单位

latitude:纬度值,以为单位

height:高度值,以为单位

ellipsoid:可选参数,表示地球椭球体模型的 Ellipsoid 对象。如果未提供该参数,则使用默认的椭球体模型(WGS84)

result:可选参数,用于存储结果的 Cartesian3 对象。如果提供了 result,则会将转换后的坐标填充到该对象中并返回它

var longitude = -75.0;
var latitude = 40.0;
var height = 1000.0;
var result = new Cesium.Cartesian3();

Cesium.Cartesian3.fromDegrees(longitude, latitude, height, Cesium.Ellipsoid.WGS84, result);

console.log(result); // 输出:Cartesian3 {x: -2195571.28759098, y: -4824430.81997863, z: 3982289.07682484}

经度值为负数表示西经(西经度)。在经度的表示中,正值表示东经(东经度)

 

multiplyComponents

Cesium.Cartesian3.multiplyComponents (left, right, result) → Cartesian3

计算两个笛卡尔的分量积

参数:

left:左侧的 Cartesian3 对象

right:右侧的 Cartesian3 对象

result:可选参数,用于存储结果的 Cartesian3 对象。如果提供了 result,则会将相乘的结果填充到该对象中并返回它

var left = new Cesium.Cartesian3(2, 3, 4);
var right = new Cesium.Cartesian3(5, 6, 7);
var result = new Cesium.Cartesian3();

Cesium.Cartesian3.multiplyComponents(left, right, result);

console.log(result); // 输出:Cartesian3 {x: 10, y: 18, z: 28}

 

multiplyByScalar

Cesium.Cartesian3.multiplyByScalar (cartesian, scalar, result) → Cartesian3

将提供的笛卡尔分量乘以提供的标量

也就是每个分量乘以同一个scalar值

 

negate

Cesium.Cartesian3.negate (cartesian, result) → Cartesian3

取反提供的笛卡尔坐标

var vector = new Cesium.Cartesian3(2, 3, 4);
var result = new Cesium.Cartesian3();

Cesium.Cartesian3.negate(vector, result);

console.log(result); // 输出:Cartesian3 {x: -2, y: -3, z: -4}

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

场主不吃鍋巴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值