假设我有一个(x,y)对于一个行的起点始终是相同的,而(x,y)对于同一行的终点是变化的.该线也总是40px长.在程序开始时,线条以垂直方向发起(让我们称之为0度).基于用户输入,我需要通过仅改变结束(x,y)来从其原点重绘特定数量的度数.
如果您需要,可以考虑更多的食物:
我正试图计算这个,并使其在Java中工作.我可以根据圆弧段的弧长来计算点数,但我不知道如何让Java做到这一点.
我认为基于三角形角度它会更容易工作,因为我总是知道三角形两边的长度(一边由40px长线形成,另一边由该线的起点和边界形成JPanel)和这两条线形成的角度.尽管如此,我的大脑还是试图弄明白.任何帮助将非常感激.
更新:
@casablanca让我走上正轨.我刷了我的三角函数,这就是我如何使它工作.
首先,我没有意识到90度直接上升,但一旦我意识到我使我的解决方案反映了这一事实.我正在从框架的底部中心开始绘制我的线条.由于opposite我的用户给出的角度小于90度时三角形的一侧位于屏幕的右侧,当我的用户给出的角度大于90度时,三角形的一侧位于屏幕的左侧,我不得不调整公式以考虑到这一事实,因此我有四种方法,一种用于x屏幕左侧的坐标(当用户给定角度大于90度时),一种用于y当用户给定角度小于90度时,屏幕左侧的坐标(当用户给定角度大于90度时)和屏幕右侧的坐标相同.在int length所有方法是斜边的长度. 再次感谢您的帮助@casablanca!
public double leftSideX(double angle, int length){
double x = frameWidth/2 - (length * Math.cos(Math.toRadians(90-(Math.toDegrees(angle)-90))));
return x;
}
public double leftSideY(double angle, int length){
double y = frameHeight - (length * Math.sin(Math.toRadians(90-(Math.toDegrees(angle)-90))));
return y;
}
public double rightSideX(double angle, int length){
double x = frameWidth/2 + (length * Math.cos(angle));
return x;
}
public double rightSideY(double angle, int length){
double y = frameHeight - (length …Run Code Online (Sandbox Code Playgroud) 使用余弦规则找到两个向量之间的角度并不难.但是,因为我正在为资源非常有限的平台编程,所以我想避免计算诸如sqrt和arccos.即使是简单的划分也应该尽可能地受到限制.
幸运的是,我不需要角度本身,但只需要一些与所述角度成比例的值.
所以我正在寻找一些计算上便宜的算法来计算与两个矢量之间的角度相关的量.到目前为止,我还没有找到符合条件的东西,也没有能够自己想出一些东西.
使用纬度和经度值(点A),我试图计算另一个点B,X米距离点A的0弧度.然后显示点B纬度和经度值.
示例(伪代码):
PointA_Lat = x.xxxx;
PointA_Lng = x.xxxx;
Distance = 3; //Meters
bearing = 0; //radians
new_PointB = PointA-Distance;
Run Code Online (Sandbox Code Playgroud)
我能够计算出两点之间的距离,但我想知道的是知道距离和方位的第二点.
最好是PHP或Javascript.
谢谢
我不是那么熟悉的三角函数,但我在2D中只有两个点可以旋转:
*nx, ny
. -
. -
. angle -
*cx,cy.................*x,y
Run Code Online (Sandbox Code Playgroud)
cx,cy =旋转中心
x,y =当前x,y
nx,ny =新坐标
如何计算某个角度的新点?
我正在研究一个与计算折射角有关的问题.但是,我似乎无法在度数中使用numpy.sin()函数.我试图使用numpy.degrees()和numpy.rad2deg().
numpy.sin(90)
numpy.degrees(numpy.sin(90))
Run Code Online (Sandbox Code Playgroud)
两者分别返回~0.894和~51.2.
谢谢你的帮助.
你怎么能找到从矢量a到b的有角度θ?
是的,我知道theta = arccos((ab)/(| a || b |)).
但是,这不包含符号(即它不区分顺时针或逆时针旋转).
我需要能告诉我从a到b旋转的最小角度.正号表示从+ x轴向+ y轴的旋转.相反,负号表示从+ x轴向-y轴的旋转.
assert angle((1,0),(0,1)) == pi/2.
assert angle((0,1),(1,0)) == -pi/2.
Run Code Online (Sandbox Code Playgroud) 我正在采用以下方法在屏幕上设置星形场的动画,但我仍然坚持下一部分.
JS
var c = document.getElementById('stars'),
ctx = c.getContext("2d"),
t = 0; // time
c.width = 300;
c.height = 300;
var w = c.width,
h = c.height,
z = c.height,
v = Math.PI; // angle of vision
(function animate() {
Math.seedrandom('bg');
ctx.globalAlpha = 1;
for (var i = 0; i <= 100; i++) {
var x = Math.floor(Math.random() * w), // pos x
y = Math.floor(Math.random() * h), // pos y
r = Math.random()*2 + 1, // radius
a = …Run Code Online (Sandbox Code Playgroud) 我正在用javascript/canvas创建一个简单的2D游戏.我需要弄清楚某个物体相对于我的位置的角度.
所以:说我在(10,10)并且物体在(10,5) - 那将导致90度(正Y向下,负Y向上)(10,10)vs(10, 15)将是270度.
我该怎么做?
我试图计算python中tan的倒数,但它没有给我正确的值,例如,如果我要做反向tan为1.18, math.atan(1.18)
>>>math.atan(1.18)
0.8677
Run Code Online (Sandbox Code Playgroud)
但是,正确答案是49.720136931.做的正确方法是什么?
对于一个学校项目,我试图表明经济遵循相对正弦的增长模式.除了它的经济学,这是不确定的,我正在构建一个python模拟,以表明,即使我们让某种程度的随机性保持不变,我们仍然可以产生一些相对正弦的东西.我对我正在制作的数据感到满意,但现在我想找到一些方法来获得与数据非常匹配的正弦图.我知道你可以做多项式拟合,但你能做正确的吗?
感谢您的帮助.如果您想要查看代码的任何部分,请告诉我.
trigonometry ×10
math ×5
python ×4
javascript ×3
java ×2
numpy ×2
algorithm ×1
angle ×1
degrees ×1
distance ×1
economics ×1
game-physics ×1
geometry ×1
graphics ×1
html5-canvas ×1
rotation ×1