Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
cesium-frame
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
jlc
cesium-frame
Commits
d7e79a94
Commit
d7e79a94
authored
Jul 30, 2024
by
lyc
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更新了连续动画
parent
5e6b6c73
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
12 additions
and
12 deletions
+12
-12
moonTrack-function.js
src/examples/spaceMissions/moonTrack/moonTrack-function.js
+8
-9
sunTrack-function.js
src/examples/spaceMissions/sunTrack/sunTrack-function.js
+4
-3
No files found.
src/examples/spaceMissions/moonTrack/moonTrack-function.js
View file @
d7e79a94
...
...
@@ -9,7 +9,7 @@ export function addMoonTrack() {
});
var
start
=
new
Cesium
.
JulianDate
.
fromDate
(
new
Date
());
start
=
Cesium
.
JulianDate
.
addHours
(
start
,
8
,
new
Cesium
.
JulianDate
());
var
stop
=
Cesium
.
JulianDate
.
add
Days
(
start
,
27.321582
,
new
Cesium
.
JulianDate
());
var
stop
=
Cesium
.
JulianDate
.
add
Seconds
(
start
,
360
,
new
Cesium
.
JulianDate
());
viewer
.
clock
.
startTime
=
start
.
clone
();
viewer
.
clock
.
stopTime
=
stop
.
clone
();
viewer
.
clock
.
currentTime
=
start
.
clone
();
...
...
@@ -20,7 +20,7 @@ export function addMoonTrack() {
const
inclination
=
Cesium
.
Math
.
toRadians
(
28.5
);
// 轨道倾角(以弧度表示)
const
semiMajorAxis
=
38440000
;
// 半长轴(米),大约为月球到地球的平均距离
// const period = 27.321582 * 24 * 60 * 60; // 月球的公转周期(秒)
const
period
=
5
0
;
const
period
=
36
0
;
// 定义轨道上的点数
const
numberOfPoints
=
1000
;
...
...
@@ -44,6 +44,7 @@ export function addMoonTrack() {
// 添加到位置数组
positions
.
push
(
cartographic
);
}
positions
.
push
(
positions
[
0
])
return
positions
;
}
// 创建轨道路径
...
...
@@ -54,7 +55,7 @@ export function addMoonTrack() {
// 创建SampledPositionProperty
const
orbitPosition
=
new
Cesium
.
SampledPositionProperty
();
for
(
let
i
=
0
;
i
<
numberOfPoints
;
i
++
)
{
for
(
let
i
=
0
;
i
<
=
numberOfPoints
;
i
++
)
{
const
time
=
Cesium
.
JulianDate
.
addSeconds
(
viewer
.
clock
.
startTime
,
i
*
period
/
numberOfPoints
,
new
Cesium
.
JulianDate
());
orbitPosition
.
addSample
(
time
,
cartesianPositions
[
i
]);
}
...
...
@@ -67,12 +68,10 @@ export function addMoonTrack() {
position
:
orbitPosition
,
orientation
:
new
Cesium
.
VelocityOrientationProperty
(
orbitPosition
),
// 设置月球的形状
ellipsoid
:
{
radii
:
new
Cesium
.
Cartesian3
(
1737400.0
,
1737400.0
,
1737400.0
),
// 月球的平均半径
material
:
new
Cesium
.
ImageMaterialProperty
({
image
:
"/src/image/moon1.jpg"
,
repeat
:
new
Cesium
.
Cartesian2
(
1
,
1
)
})
model
:
{
uri
:
'https://raw.githubusercontent.com/jinlinchao123/Cesium-assets/main/3Dmodel/moon.gltf'
,
minimumPixelSize
:
100
,
scale
:
200.0
,
},
// 显示月球的运动轨迹
path
:
{
...
...
src/examples/spaceMissions/sunTrack/sunTrack-function.js
View file @
d7e79a94
...
...
@@ -30,7 +30,7 @@ export function addSunTrack() {
viewer
.
scene
.
fog
.
enable
=
false
;
var
start
=
new
Cesium
.
JulianDate
.
fromDate
(
new
Date
());
start
=
Cesium
.
JulianDate
.
addHours
(
start
,
8
,
new
Cesium
.
JulianDate
());
var
stop
=
Cesium
.
JulianDate
.
add
Days
(
start
,
27.321582
,
new
Cesium
.
JulianDate
());
var
stop
=
Cesium
.
JulianDate
.
add
Seconds
(
start
,
360
,
new
Cesium
.
JulianDate
());
viewer
.
clock
.
startTime
=
start
.
clone
();
viewer
.
clock
.
stopTime
=
stop
.
clone
();
viewer
.
clock
.
currentTime
=
start
.
clone
();
...
...
@@ -40,7 +40,7 @@ export function addSunTrack() {
const
inclination
=
Cesium
.
Math
.
toRadians
(
28.5
);
// 轨道倾角(以弧度表示)
const
semiMajorAxis
=
38440000
;
// 半长轴(米),大约为月球到地球的平均距离
// const period = 27.321582 * 24 * 60 * 60; // 月球的公转周期(秒)
const
period
=
5
0
;
const
period
=
36
0
;
// 定义轨道上的点数
const
numberOfPoints
=
1000
;
function
createMoonOrbit
(
inclination
,
semiMajorAxis
,
period
,
numberOfPoints
)
{
...
...
@@ -56,12 +56,13 @@ export function addSunTrack() {
const
cartographic
=
Cesium
.
Cartographic
.
fromCartesian
(
Cesium
.
Cartesian3
.
fromElements
(
x
,
y
,
z
));
positions
.
push
(
cartographic
);
}
positions
.
push
(
positions
[
0
])
return
positions
;
}
const
moonOrbitPositions
=
createMoonOrbit
(
inclination
,
semiMajorAxis
,
period
,
numberOfPoints
);
const
cartesianPositions
=
moonOrbitPositions
.
map
(
position
=>
Cesium
.
Cartesian3
.
fromRadians
(
position
.
longitude
,
position
.
latitude
,
position
.
height
));
const
orbitPosition
=
new
Cesium
.
SampledPositionProperty
();
for
(
let
i
=
0
;
i
<
numberOfPoints
;
i
++
)
{
for
(
let
i
=
0
;
i
<
=
numberOfPoints
;
i
++
)
{
const
time
=
Cesium
.
JulianDate
.
addSeconds
(
viewer
.
clock
.
startTime
,
i
*
period
/
numberOfPoints
,
new
Cesium
.
JulianDate
());
orbitPosition
.
addSample
(
time
,
cartesianPositions
[
i
]);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment