ThreeJs画点

import * as THREE from "three";

import { lla2xyz } from './latlngutil.js'



const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera(55, window.innerWidth / window.innerHeight, 0.1, 1000);

const renderer = new THREE.WebGLRenderer({ antialias: true, });
renderer.setClearAlpha(0.0)
renderer.setSize(window.innerWidth/2, window.innerHeight/2);
document.body.appendChild(renderer.domElement);



function animate() {
    requestAnimationFrame(animate);
    renderer.render(scene, camera);
}
animate();


var latlngs = [{lat:31,lng:104,alt:549}]

const vertices = [];
var last = {}
latlngs.forEach(element => {
    var res = lla2xyz(element.lat,element.lng,element.alt)
    vertices.push( res.x,res.y,res.z);
    last = res;
});
camera.position.x = last.x; 
camera.position.y = last.y; 
camera.position.z = last.z + 100; 
camera.lookAt(last.x,last.y,last.z)

const geometry = new THREE.BufferGeometry();
geometry.setAttribute( 'position', new THREE.Float32BufferAttribute( vertices, 3 ) );

const material = new THREE.PointsMaterial( { color: 0x888888 ,size:10} );

const points = new THREE.Points( geometry, material );

scene.add( points );
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容