|
|
@ -19,7 +19,7 @@ |
|
|
|
<legend>Preparation</legend> |
|
|
|
<legend>Preparation</legend> |
|
|
|
<label> |
|
|
|
<label> |
|
|
|
Segments: {{ segmentCount }} |
|
|
|
Segments: {{ segmentCount }} |
|
|
|
<input type="range" v-model.number="segmentCount" min="1" max="20" step="1"> |
|
|
|
<input type="range" v-model.number="segmentCount" min="1" max="30" step="1"> |
|
|
|
</label> |
|
|
|
</label> |
|
|
|
<div id="segment_view"> |
|
|
|
<div id="segment_view"> |
|
|
|
<span id="segment_header_mass">Mass</span><span id="segment_header_length">Length</span> |
|
|
|
<span id="segment_header_mass">Mass</span><span id="segment_header_length">Length</span> |
|
|
@ -28,9 +28,14 @@ |
|
|
|
<span class="segment_label">{{ masses[i - 1] }}kg</span> |
|
|
|
<span class="segment_label">{{ masses[i - 1] }}kg</span> |
|
|
|
<input type="range" v-model.number="masses[i - 1]" min="0.1" max="10" step=".1"> |
|
|
|
<input type="range" v-model.number="masses[i - 1]" min="0.1" max="10" step=".1"> |
|
|
|
<span class="segment_label">{{ lengths[i - 1] }}m</span> |
|
|
|
<span class="segment_label">{{ lengths[i - 1] }}m</span> |
|
|
|
<input type="range" v-model.number="lengths[i - 1]" min="0.1" max="5" step=".1"> |
|
|
|
<input type="range" v-model.number="lengths[i - 1]" min="0.1" max="10" step=".1"> |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="horizontal_group"> |
|
|
|
|
|
|
|
<button class="reset_segments_btn" @click="resetMasses" title="Reset masses to 1"></button> |
|
|
|
|
|
|
|
<button id="normalize_btn" @click="normalize" title="Normalize lengths to fit screen"></button> |
|
|
|
|
|
|
|
<button class="reset_segments_btn" @click="resetLengths" title="Reset lengths to 1"></button> |
|
|
|
|
|
|
|
</div> |
|
|
|
<label> |
|
|
|
<label> |
|
|
|
Starting Angle: {{startAngle}}° |
|
|
|
Starting Angle: {{startAngle}}° |
|
|
|
<input type="range" v-model.number="startAngle" min="0" max="360" step="1"> |
|
|
|
<input type="range" v-model.number="startAngle" min="0" max="360" step="1"> |
|
|
@ -39,39 +44,32 @@ |
|
|
|
Color: |
|
|
|
Color: |
|
|
|
<input type="color" v-model="color"> |
|
|
|
<input type="color" v-model="color"> |
|
|
|
</label> |
|
|
|
</label> |
|
|
|
<br> |
|
|
|
|
|
|
|
<label> |
|
|
|
<label> |
|
|
|
<input type="checkbox" v-model="multiple"> |
|
|
|
<input type="checkbox" v-model="multiple"> |
|
|
|
Add multiple |
|
|
|
Add multiple |
|
|
|
</label> |
|
|
|
</label> |
|
|
|
<br> |
|
|
|
|
|
|
|
<template v-if="multiple"> |
|
|
|
<template v-if="multiple"> |
|
|
|
<label> |
|
|
|
<label> |
|
|
|
<input type="checkbox" v-model="rainbow"> |
|
|
|
<input type="checkbox" v-model="rainbow"> |
|
|
|
Use rainbow coloring |
|
|
|
Use rainbow coloring |
|
|
|
</label> |
|
|
|
</label> |
|
|
|
<br><br> |
|
|
|
|
|
|
|
<label> |
|
|
|
<label> |
|
|
|
Add Count: {{pendulumCount}} |
|
|
|
Count: {{pendulumCount}} |
|
|
|
<input type="range" v-model.number="pendulumCount" min="10" max="250" step="10"> |
|
|
|
<input type="range" v-model.number="pendulumCount" min="10" max="250" step="10"> |
|
|
|
</label> |
|
|
|
</label> |
|
|
|
<span>Property to change slightly:</span> |
|
|
|
<span>Property to change slightly:</span> |
|
|
|
<br> |
|
|
|
|
|
|
|
<label> |
|
|
|
<label> |
|
|
|
<input type="radio" value="angle" v-model="changeProperty"> |
|
|
|
<input type="radio" value="angle" v-model="changeProperty"> |
|
|
|
Starting Angle |
|
|
|
Starting Angle |
|
|
|
</label> |
|
|
|
</label> |
|
|
|
<br> |
|
|
|
|
|
|
|
<label> |
|
|
|
<label> |
|
|
|
<input type="radio" value="mass" v-model="changeProperty"> |
|
|
|
<input type="radio" value="mass" v-model="changeProperty"> |
|
|
|
Specific Mass |
|
|
|
Specific Mass |
|
|
|
</label> |
|
|
|
</label> |
|
|
|
<br> |
|
|
|
|
|
|
|
<label> |
|
|
|
<label> |
|
|
|
<input type="radio" value="length" v-model="changeProperty"> |
|
|
|
<input type="radio" value="length" v-model="changeProperty"> |
|
|
|
Specific Length |
|
|
|
Specific Length |
|
|
|
</label> |
|
|
|
</label> |
|
|
|
<br><br> |
|
|
|
|
|
|
|
<label v-show="changeProperty === 'mass' || changeProperty === 'length'"> |
|
|
|
<label v-show="changeProperty === 'mass' || changeProperty === 'length'"> |
|
|
|
Index: {{ changeIndex }} |
|
|
|
Index: {{ changeIndex }} |
|
|
|
<input type="range" v-model.number="changeIndex" min="0" :max="segmentCount - 1" step="1"> |
|
|
|
<input type="range" v-model.number="changeIndex" min="0" :max="segmentCount - 1" step="1"> |
|
|
|