Skip to content

Commit 77b6a84

Browse files
trajectory reset
1 parent e6df3ae commit 77b6a84

File tree

6 files changed

+37
-35
lines changed

6 files changed

+37
-35
lines changed

index.css

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,4 +246,9 @@ canvas{
246246
}
247247
#controller-code{
248248
min-width: 700px;
249+
}
250+
251+
#reference-trajectory-options{
252+
display:flex;
253+
flex-wrap: wrap;
249254
}

index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,7 @@
199199
</template>
200200
<div id="reference-trajectory-options">
201201
</div>
202+
<input type="button" id="reference-trajectory-reset" value="Reset"></input>
202203
</div>
203204
<div class="controls-container">
204205
<span class="slider-container">

index.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,7 @@ async function main(){
173173
const trajectory_class = trajectories[event.target.value]
174174
trajectory = new trajectory_class()
175175

176+
176177
const trajectory_options_container = document.getElementById("reference-trajectory-options")
177178
trajectory_options_container.innerHTML = ""
178179
const trajectory_option_template = document.getElementById("reference-trajectory-option-template")
@@ -199,6 +200,10 @@ async function main(){
199200
}
200201
})
201202
trajectory_select.dispatchEvent(new Event("change"))
203+
document.getElementById("reference-trajectory-reset").addEventListener("click", () => {
204+
trajectory_select.dispatchEvent(new Event("change"))
205+
206+
})
202207

203208
document.getElementById("default-checkpoint-btn").addEventListener("click", async () => {
204209
load_model(file_url)

trajectories/base.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
export class Trajectory{
2+
constructor(parameters){
3+
this.parameters = parameters
4+
this.parameter_values = {}
5+
for(const [name, param] of Object.entries(this.parameters)){
6+
this.parameter_values[name] = param.default
7+
}
8+
}
9+
set_parameter(name, value){
10+
this.parameter_values[name] = value
11+
}
12+
reset(){
13+
this.parameter_values = {}
14+
for(const [name, param] of Object.entries(this.parameters)){
15+
this.parameter_values[name] = param.default
16+
}
17+
}
18+
}

trajectories/lissajous.js

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,10 @@
1-
2-
export class Lissajous{
1+
import { Trajectory } from "./base.js"
2+
export class Lissajous extends Trajectory{
33
constructor(){
4-
this.parameters = {
4+
super({
55
"period": {"range": [1, 15], "default": 10},
66
"scale": {"range": [0, 5], "default": 0.1},
7-
}
8-
this.parameter_values = {}
9-
for(const [name, param] of Object.entries(this.parameters)){
10-
this.parameter_values[name] = param.default
11-
}
12-
}
13-
set_parameter(name, value){
14-
this.parameter_values[name] = value
7+
})
158
}
169
evaluate(t){
1710
const scale = this.parameter_values.scale

trajectories/position.js

Lines changed: 4 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,13 @@
1-
export class Position{
1+
import { Trajectory } from "./base.js"
2+
export class Position extends Trajectory{
23
constructor(){
3-
this.parameters = {
4+
super({
45
"x": {"range": [-10, 10], "default": 0},
56
"y": {"range": [-10, 10], "default": 0},
67
"z": {"range": [-10, 10], "default": 0},
7-
}
8-
this.parameter_values = {}
9-
for(const [name, param] of Object.entries(this.parameters)){
10-
this.parameter_values[name] = param.default
11-
}
12-
}
13-
set_parameter(name, value){
14-
this.parameter_values[name] = value
8+
})
159
}
1610
evaluate(t){
1711
return [this.parameter_values.x, this.parameter_values.y, this.parameter_values.z, 0, 0, 0]
1812
}
1913
}
20-
21-
// function lissajous(t){
22-
// const scale = 0.5
23-
// const duration = 10
24-
// const A = 1
25-
// const B = 0.5
26-
// const progress = t * 2 * Math.PI / duration
27-
// const d_progress = 2 * Math.PI / duration
28-
// const x = scale * Math.sin(A * progress)
29-
// const y = scale * Math.sin(B * progress)
30-
// const vx = scale * Math.cos(A * progress) * A * d_progress
31-
// const vy = scale * Math.cos(B * progress) * B * d_progress
32-
// return [x, y, 0, vx, vy, 0]
33-
// }

0 commit comments

Comments
 (0)