需要JavaScript和三角函数的帮助
Need help for javascript and trigonometry
http://jsfiddle.net/techsin/CxFRC/15/所有镶边都只能单击并拖动向上和向后箭头。
pastebin.com/gXS1J7zw
问题:我无法c=$('.con')
横向翻译/翻译。我已经设法做到了前后。但我无法计算出侧身的公式。
这是我的第一次尝试。使用箭头键,前进和后退工作在不同的功能中。但左右不要。
有问题的代码:你不需要担心其余的代码 右左的主要逻辑在这里。我尝试找到垂直角度,但它的行为相反,然后与相反。
第一个有效且无需注意的代码:
function forwBack(x){
az+= x*(Math.cos((Math.PI/180)*ry))*Math.cos((Math.PI/180)*rx)*speed;
ax-= x*(Math.sin((Math.PI/180)*ry))*Math.cos((Math.PI/180)*rx)*speed;
ay+= x*(Math.sin((Math.PI/180)*rx))*speed;
}
现在的代码不能做我想要的...垂直于矢量平移。
function rightLeft(x){
az+= Math.sin(ry*(Math.PI/180))*(Math.cos((rx+90)*(Math.PI/180))*speed*x);
ax-= Math.cos(ry*(Math.PI/180))*(Math.cos((rx+90)*(Math.PI/180))*speed*x);
ay+= Math.sin((rx+90)*(Math.PI/180))*speed*x;
}
x 是决定左/右或前进/后退的符号。速度在这里是斜边。Pi/180 表示度到弧度。弧度到度的 180/Pi(绕 x 轴旋转)rx 和 ry 在函数 ch 中定义。并表示主 (.ma) 容器的旋转。Rx 由鼠标的垂直移动定义。
我不需要这样做,但我想这样做。我想让3D资源管理器像一个大厅。只是为了好玩。我曾经像9年前一样在Flash中做这种事情。那时我还是个孩子。
主要问题是侧向并不总是 -x 或 +x,这取决于外部容器旋转了多少(围绕 xyz)。因此,如果 m 绕 y 轴旋转 90 个,只告诉 c 移动 x+ 会使 c 实际上看起来像是在回退或减少 z。
连续尝试两天后,我无法解决此问题。
http://jsfiddle.net/techsin/hGkMj/1/-- 检出 3D
http://jsfiddle.net/techsin/hGkMj/6/-- 检出 3D
http://jsfiddle.net/techsin/9YjSC/3 我这样做是为了清楚地了解我想要做什么。 移动鼠标,并使用箭头键。需要在预览窗口中单击。
我发现了问题。在你的函数 rightLeft 中,你正在反转 x 和 y。我重写了函数,它工作正常:
function rightLeft(x){
var dAy = 0 ;
var dAz = Math.cos((ry+90)*(Math.PI/180))*speed*x;
var dAx = Math.sin((rx+90)*(Math.PI/180))*speed*x;
console.log("dAx = " + dAx + " dAz = " + dAz + " dAy = " + dAy);
ax-= dAx;
az+= dAz;
ay+= dAy;
}
希望这有帮助!
- 需要帮助设置json数组
- JQuery需要帮助理解(i,el)
- 如何在输入字段中的按钮的帮助下打开日历,该字段的类型为“=”;日期”;
- 需要帮助谷歌地图方向面板在FancyBox中显示
- 我需要为我的朋友在这个项目上提供帮助
- 使用密码对话框Javascript请求帮助
- JavaScript计算帮助(乘以时间)
- 另一个if(!$scope.$$phase)$scope$apply()szenario-需要帮助才能通关
- Angular ng类需要帮助设置
- {{#each}}内部的Handlebar帮助程序
- php帮助-需要使用字符串回显php
- JavaScript,JQuery.需要帮助才能获得'name'从我的JSON中删除
- jQuery基于下拉选择更新帮助文本
- 需要比特币校验地址和json帮助
- 在JavaScript中处理数组和对象时需要帮助
- JavaScript表单提交帮助
- 需要有关修剪JavaScript的帮助
- 需要帮助自定义幻灯片自动播放
- 需要帮助编写在不使用toString的情况下将十进制转换为二进制的代码
- 需要JavaScript和三角函数的帮助