特殊旋转计算

时间:2018-03-04 18:06:56

标签: javascript html math rotation compass

我正在研究某种特殊指南针。

该项目工作得非常好,在这个问题上也没有那么重要,因为我只是在项目的一个部分遇到了大问题:

我的代码返回的计算角度可能是(-360到360之间的值)

-318°, -29°, 223°, -163°, ... 

由于我的奇怪(但工作)计算,我没有从 0°到360°获得角度,但是例如我得到 42°到-317°之间的值< / strong>或 25°至-334°

  

对于旋转特定旋转的图像,此行为不会导致问题,因为 -317° 42°相比,与圆形旋转几乎相同。

我的问题:对于我的项目,现在重要的是让旋转处于默认角度,例如0% to 100%(如0°-360°)。我怎样才能获得这些角度范围呢?

function rotate(val) {
  div.style.transform = "rotate("+val+"deg)"
  div.innerHTML = val + "°"
}
rotate(26)
div {
  position: fixed;
  left: 50%;
  top: 10%;
  margin-left:-30px;
  background: black;
  font-family: Helvetica Neue;
  font-size: 30px;
  height: 60px;
  width: 60px;
  color: white;
  line-height: 160%;
  text-align: center;
}
<p><b>(!) Try</b>: Input "25" and "-334"</p>

<input type="number" value="25" onchange="rotate(this.value)" placeholder="input degree">
<div id="div">[]</div>

  

我的问题:如何以百分比(从0%-100%)计算图像的旋转?

编辑:只需使用

var percentageRotation = myweirdrotation/3.6

根本无法解决问题。它不会输出0到100之间的值。内部也有这种奇怪的“跳跃”。

1 个答案:

答案 0 :(得分:0)

我在自己身上找到了解决方案

使用此代码可以完成这项工作:

var rot = (myweirdrotation%360) / 3.6