Commit 7998bc7b by yzh

update:更新了点到直线的距离

parent 544db025
......@@ -55,6 +55,7 @@ import vueCodeConvertECEFtoWGS84 from '@/examples/builtInAlgorithm/convertECEFto
import vueCodeConvertWGS84toECEF from '@/examples/builtInAlgorithm/convertWGS84toECEF/convertWGS84toECEF.vue?raw'
import vueCodeConvertUTCtoJulianDate from '@/examples/builtInAlgorithm/convertUTCtoJulianDate/convertUTCtoJulianDate.vue?raw'
import vueCodeConvertJulianDatetoUTC from '@/examples/builtInAlgorithm/convertJulianDatetoUTC/convertJulianDatetoUTC.vue?raw'
import vueCodeDistancePointToLine from '@/examples/builtInAlgorithm/distancePointToLine/distancePointToLine.vue?raw'
import vueCodeDistanceTwoPoints from '@/examples/builtInAlgorithm/distanceTwoPoints/distanceTwoPoints.vue?raw'
const vueCodeMap = {
......@@ -115,6 +116,7 @@ const vueCodeMap = {
地固XYZ转经纬高: vueCodeConvertECEFtoWGS84,
UTC时间转JulianDate: vueCodeConvertUTCtoJulianDate,
JulianDateUTC时间: vueCodeConvertJulianDatetoUTC,
计算点到直线的距离: vueCodeDistancePointToLine,
计算两点间距离: vueCodeDistanceTwoPoints,
}
......
......@@ -55,6 +55,7 @@ import functionCodeConvertWGS84toECEF from '@/examples/builtInAlgorithm/convertW
import functionCodeConvertECEFtoWGS84 from '@/examples/builtInAlgorithm/convertECEFtoWGS84/convertECEFtoWGS84-function.js?raw'
import functionCodeConvertUTCtoJulianDate from '@/examples/builtInAlgorithm/convertUTCtoJulianDate/convertUTCtoJulianDate-function.js?raw'
import functionCodeConvertJulianDatetoUTC from '@/examples/builtInAlgorithm/convertJulianDatetoUTC/convertJulianDatetoUTC-function.js?raw'
import functionCodeDistancePointToLine from '@/examples/builtInAlgorithm/distancePointToLine/distancePointToLine-funtion.js?raw'
import functionCodeDistanceTwoPoints from '@/examples/builtInAlgorithm/distanceTwoPoints/distanceTwoPoints-function.js?raw'
const functionCodeMap = {
......@@ -115,6 +116,7 @@ const functionCodeMap = {
地固XYZ转经纬高: functionCodeConvertECEFtoWGS84,
UTC时间转JulianDate: functionCodeConvertUTCtoJulianDate,
JulianDateUTC时间: functionCodeConvertJulianDatetoUTC,
计算点到直线的距离: functionCodeDistancePointToLine,
计算两点间距离: functionCodeDistanceTwoPoints,
}
......
export function addPoint(viewer) {
const polyline = viewer.entities.add({
polyline:{
positions:Cesium.Cartesian3.fromDegreesArray([120,20,121000,20]),
width:10,
material:Cesium.Color.WHITE,
clampToGround: true,
}
})
viewer.entities.add({
position:Cesium.Cartesian3.fromDegrees(90,35),
point: {
pixelSize: 3,
color: Cesium.Color.WHITE,
outlineColor: Cesium.Color.RED,
outlineWidth: 2,
disableDepthTestDistance: Number.POSITIVE_INFINITY,
},
})
let Point1 = new Cesium.Cartesian3.fromDegrees(120, 20);
let Point2 = new Cesium.Cartesian3.fromDegrees(121000, 20);
let lineDirection = Cesium.Cartesian3.subtract(Point2, Point1, new Cesium.Cartesian3());
Cesium.Cartesian3.normalize(lineDirection, lineDirection);
let point = new Cesium.Cartesian3.fromDegrees(90, 35);
let projection = Cesium.Cartesian3.multiplyByScalar(lineDirection, Cesium.Cartesian3.dot(point, lineDirection), new Cesium.Cartesian3());
let distance1 = Cesium.Cartesian3.distance(point, projection);
let distance = distance1.toFixed(4);
console.log('点到直线最近距离为:', distance + '米');
}
\ No newline at end of file
<template>
<div id="cesiumContainer" style="width: 100vw; height: 100vh"></div>
<div class="itemClass">
<button @click="addPoint(viewer)">按下添加点</button>
</div>
</template>
<script setup>
import { onMounted } from "vue";
import { addPoint } from "./function.js"
let viewer;
onMounted(() => {
const script = document.createElement('script');
script.src = 'https://cesium.com/downloads/cesiumjs/releases/1.99/Build/Cesium/Cesium.js';
script.onload = () => {
window.Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI3Njg4ZWU5Yi1iZDhiLTRhYmUtOTRiYS04YjM5NmUwNjVmMDMiLCJpZCI6MjI3MzQ3LCJpYXQiOjE3MjA1MjA4Mjh9.E5XW4LnwgfVAaBC-znaYr61m4yK0-j2qEQhi9qwFFPE'
viewer = new window.Cesium.Viewer('cesiumContainer', {
infoBox: false,
});
};
document.head.appendChild(script);
const link = document.createElement('link');
link.rel = 'stylesheet';
link.href = 'https://cesium.com/downloads/cesiumjs/releases/1.119/Build/Cesium/Widgets/widgets.css';
document.head.appendChild(link);
});
</script>
<style scoped>
.itemClass {
position: absolute;
top: 10px;
left: 10px;
}
</style>
......@@ -196,9 +196,12 @@ export const elementAlgorithmMap = {
title: 'JulianDate转UTC时间 ',
pngUrl: '/src/assets/DistanceTwoPoints.png'
},
计算点到直线的距离: {
title: '计算点到直线的距离',
pngUrl: '/src/assets/DistanceTwoPoints.png'
},
计算两点间距离: {
title: '计算两点间距离',
pngUrl: '/src/assets/DistanceTwoPoints.png'
},
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment