a1圆心点,半经从a1到b1,临时当0度,然后右转30度,半经7像楼的位子边的像数坐标,怎么计算出来呢?

时间:2021-08-20 09:44:15
[img=http://hi.csdn.net/attachment/201011/15/0_128982998522Sk.gif ][/img]

《图像中,只知道a1像数坐标,和,b1像数坐标,a1是圆心点,a1像数坐标到b1像数坐标之间半经7像数的长度》但是c1坐标是不知道的

从圆图中a1像数坐标到b1像数坐标之间,临时当0度,然后,右转30度,半经7像楼的位子边,也就是c1像数坐标

这个c1的像数坐标,应该,怎么用代码计算出来呢?

17 个解决方案

#1


属于数学问题吧,把它们分别连起来,组成几个直角三角形,然后用公式计算就出来了

#2


这个属于数学问题,将表达式求出来就可以了。
编程运算通常是完成已知公式的计算或者是人力很难完成的重复计算。

#3


先必须有算式能计算出来!然后,转化成代码!楼主算式出来了?

#4


先退出计算公式

#5


那现在,只有这些数据的话,c1的坐标怎么计算出来呢?
a1.x=222;
a1.y=111;
b1.x=190;
b1.y=120;
从b1向右键30度

#6


这数学题有必要让别人帮算吗。。汗。。。

#7


不会算,才问的啊,能算就不问了

#8


唉 无语 ,看看矢量计算吧

#9



使用向量计算
不管怎么转

AB+BC=AC

#10


如:ab为80度,ac为50度。根据ab斜率,算出ac斜率
知道斜率了,还知道长度为7,就能确定c点坐标了。
不麻烦的

#11


c1.y = 7 * sin(arcsin(b1.y - a1.x)/7 - (1/12) * pai);
c1.x = 7 * cos(arccos(b1.x - a1.x)/7 - (1/12) * pai);

#12


c1.y = 7 * sin(arcsin(b1.y - a1.x)/7 - (1/12) * pai);
c1.x = 7 * cos(arccos(b1.x - a1.x)/7 - (1/12) * pai);
我刚用你的算法写的时候,第一行写了a1.x是不是写错了要写a1.y吗?还有两个行最后都有pai这个变量,这个变量的值是什么呢?

#13


pai = π = atan(1.0) * 4;

#14


引用 12 楼 asasj571 的回复:
c1.y = 7 * sin(arcsin(b1.y - a1.x)/7 - (1/12) * pai);
c1.x = 7 * cos(arccos(b1.x - a1.x)/7 - (1/12) * pai);
我刚用你的算法写的时候,第一行写了a1.x是不是写错了要写a1.y吗?还有两个行最后都有pai这个变量,这个变量的值是什么呢?

确实是写错了,第一行是a1.y          pai = π 啊大哥

#15


c1.y = 7 * sin(arcsin((b1.y - a1.y)/7 ) - (1/12) * pai);
c1.x = 7 * cos(arccos((b1.x - a1.x)/7 ) - (1/12) * pai);
应该是这样的,这只是算法而已,楼主自己转换下。

#16


我来吧,设阵M=
|cosT ,sinT|
|-sinT,cosT|
其中cosT = sqrt(3)/2, sinT = 0.5
已知向量A(x,y)=(b.x-a.x, b.y-a.y)
则A顺时针旋转30°后
向量B(x,y) = M*A =(cosT*A.x+sinT*A.y, -sinT*A.x+cosT*A.y)
c(x,y) = a+B = (a.x+B.x, a.y+B.y)

#17


半径等于7,这个没用到,因为b点和a点坐标知道的话,其实已经包含半径信息了

#1


属于数学问题吧,把它们分别连起来,组成几个直角三角形,然后用公式计算就出来了

#2


这个属于数学问题,将表达式求出来就可以了。
编程运算通常是完成已知公式的计算或者是人力很难完成的重复计算。

#3


先必须有算式能计算出来!然后,转化成代码!楼主算式出来了?

#4


先退出计算公式

#5


那现在,只有这些数据的话,c1的坐标怎么计算出来呢?
a1.x=222;
a1.y=111;
b1.x=190;
b1.y=120;
从b1向右键30度

#6


这数学题有必要让别人帮算吗。。汗。。。

#7


不会算,才问的啊,能算就不问了

#8


唉 无语 ,看看矢量计算吧

#9



使用向量计算
不管怎么转

AB+BC=AC

#10


如:ab为80度,ac为50度。根据ab斜率,算出ac斜率
知道斜率了,还知道长度为7,就能确定c点坐标了。
不麻烦的

#11


c1.y = 7 * sin(arcsin(b1.y - a1.x)/7 - (1/12) * pai);
c1.x = 7 * cos(arccos(b1.x - a1.x)/7 - (1/12) * pai);

#12


c1.y = 7 * sin(arcsin(b1.y - a1.x)/7 - (1/12) * pai);
c1.x = 7 * cos(arccos(b1.x - a1.x)/7 - (1/12) * pai);
我刚用你的算法写的时候,第一行写了a1.x是不是写错了要写a1.y吗?还有两个行最后都有pai这个变量,这个变量的值是什么呢?

#13


pai = π = atan(1.0) * 4;

#14


引用 12 楼 asasj571 的回复:
c1.y = 7 * sin(arcsin(b1.y - a1.x)/7 - (1/12) * pai);
c1.x = 7 * cos(arccos(b1.x - a1.x)/7 - (1/12) * pai);
我刚用你的算法写的时候,第一行写了a1.x是不是写错了要写a1.y吗?还有两个行最后都有pai这个变量,这个变量的值是什么呢?

确实是写错了,第一行是a1.y          pai = π 啊大哥

#15


c1.y = 7 * sin(arcsin((b1.y - a1.y)/7 ) - (1/12) * pai);
c1.x = 7 * cos(arccos((b1.x - a1.x)/7 ) - (1/12) * pai);
应该是这样的,这只是算法而已,楼主自己转换下。

#16


我来吧,设阵M=
|cosT ,sinT|
|-sinT,cosT|
其中cosT = sqrt(3)/2, sinT = 0.5
已知向量A(x,y)=(b.x-a.x, b.y-a.y)
则A顺时针旋转30°后
向量B(x,y) = M*A =(cosT*A.x+sinT*A.y, -sinT*A.x+cosT*A.y)
c(x,y) = a+B = (a.x+B.x, a.y+B.y)

#17


半径等于7,这个没用到,因为b点和a点坐标知道的话,其实已经包含半径信息了