# Align 3D models along vector

**URL:** <https://community.cesium.com/t/align-3d-models-along-vector/1060>\
**Category:** CesiumJS\
**Created:** [March 11, 2014, 10:21am UTC](https://community.cesium.com/t/align-3d-models-along-vector/1060 "2014-03-11T10:21:24Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![bk15987](https://avatars.discourse-cdn.com/v4/letter/b/ecae2f/32.png) [@bk15987](https://community.cesium.com/u/bk15987)\
**Post date:** [March 11, 2014, 10:21am UTC](https://community.cesium.com/t/align-3d-models-along-vector/1060/1 "2014-03-11T10:21:24Z")

</div>

I want to align 3d Model along some vector, but its not working in cesium. I am using following methods to get modelMatrix for model:

function getModelMatrix(currentPosition,nextPosition) {

&nbsp;&nbsp;&nbsp;var modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(currentPosition);  
&nbsp;&nbsp;&nbsp;  
&nbsp;&nbsp;&nbsp;&nbsp;var Va = new Cesium.Cartesian3(1.0, 0.0, 0.0);  
&nbsp;&nbsp;&nbsp;&nbsp;  
&nbsp;&nbsp;&nbsp;&nbsp;var Vw = Cesium.Cartesian3.normalize(Cesium.Cartesian3.subtract(nextPosition, currentPosition));  
&nbsp;&nbsp;&nbsp;  
&nbsp;&nbsp;&nbsp;&nbsp;var Vr = Cesium.Cartesian3.cross(Va, Vw);

&nbsp;&nbsp;&nbsp;&nbsp;var Or = Math.acos(Cesium.Cartesian3.dot(Va, Vw));  
&nbsp;&nbsp;&nbsp;&nbsp;  
&nbsp;&nbsp;&nbsp;&nbsp;var Qr = Cesium.Quaternion.normalize( Cesium.Quaternion.fromAxisAngle(Vr, Or));  
&nbsp;&nbsp;&nbsp;&nbsp;  
&nbsp;&nbsp;&nbsp;&nbsp;var currentModelMatrix = Cesium.Matrix4.multiply(modelMatrix, Cesium.Matrix4.fromRotationTranslation(Cesium.Matrix3.fromQuaternion(Qr), Cesium.Cartesian3.ZERO));  
&nbsp;&nbsp;  
&nbsp;&nbsp;&nbsp;&nbsp;return currentModelMatrix;  
}

I am using following code placed model in cesium:

var currentModelMatrix = getBMModelMatrix(new Cesium.Cartesian3(303065.877, 5959040.199, 2246066.299), new Cesium.Cartesian3(293234.532, 6024480.298, 2235076.383));

viewer.scene.getPrimitives().add(Cesium.Model.fromGltf({  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url: entity.modelAttributes.model3D,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;modelMatrix: currentModelMatrix,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;show: (entity.modelAttributes.show ? entity.modelAttributes.show : true),  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scale: entity.modelAttributes.scale ? entity.modelAttributes.scale : 1.0  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}));

but Model is not align to joining line of currentPosition and nextPosition.

Thanks
