转动任意弧度,求坐标已知圆心和圆上一点的坐标,求圆上该点转动任意弧度之后的坐标.请讲解下思路及公式。若是JAVA编程人员,给出代码则更好。时间太长,忘光了,汗……

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/09 11:13:14
转动任意弧度,求坐标已知圆心和圆上一点的坐标,求圆上该点转动任意弧度之后的坐标.请讲解下思路及公式。若是JAVA编程人员,给出代码则更好。时间太长,忘光了,汗……

转动任意弧度,求坐标已知圆心和圆上一点的坐标,求圆上该点转动任意弧度之后的坐标.请讲解下思路及公式。若是JAVA编程人员,给出代码则更好。时间太长,忘光了,汗……
转动任意弧度,求坐标
已知圆心和圆上一点的坐标,求圆上该点转动任意弧度之后的坐标.
请讲解下思路及公式。若是JAVA编程人员,给出代码则更好。时间太长,忘光了,汗……

转动任意弧度,求坐标已知圆心和圆上一点的坐标,求圆上该点转动任意弧度之后的坐标.请讲解下思路及公式。若是JAVA编程人员,给出代码则更好。时间太长,忘光了,汗……
圆心(a,b),已知点A(x,y),逆时针转动弧度c(若是顺时针,则把c改成-c即可),点A变成点B(x',y').
设圆半径为r,圆心与A的连线与x轴夹角的弧度为d,则有
x-a=r*cosd
y-b=r*sind
所以,
x'-a=r*cos(d+c)=r*cosd*cosc-r*sind*sinc=(x-a)cosc-(y-b)sinc
y'-b=r*sin(d+c)=r*sind*cosc+r*cosd*sinc=(y-b)cosc+(x-a)sinc
所以,
x'=(x-a)cosc-(y-b)sinc+a
y'=(y-b)cosc+(x-a)sinc+b

这是我做仪表盘动态加载数据页面处理部分的代码。希望能对你有帮助

<script>

  var rate = 75; //百分比

  var angle = rate * 2.6 +50;//计算角度

  document.getElementById("panel").innerHTML = "<img id='pointer' src='pointer.gif' style= 'width:118px;height:118px; position:absolute; top:23.5px; left:23.5px;-moz-transform:rotate(" + angle + "deg); -webkit-transform:rotate(" + angle + "deg); transform:rotate(" + angle + "deg);'>"

  pointer.style.filter = "progid:DXImageTransform.Microsoft.Matrix()";

  pointer.filters.item("DXImageTransform.Microsoft.Matrix").SizingMethod = "auto expand";

  pointer.filters.item("DXImageTransform.Microsoft.Matrix").FilterType = "bilinear";

  pointer.filters.item("DXImageTransform.Microsoft.Matrix").M11 = Math.cos(angle/(360/(2*Math.PI)));

  pointer.filters.item("DXImageTransform.Microsoft.Matrix").M12 = -Math.sin(angle/(360/(2*Math.PI)));

  pointer.filters.item("DXImageTransform.Microsoft.Matrix").M21 = Math.sin(angle/(360/(2*Math.PI)));

  pointer.filters.item("DXImageTransform.Microsoft.Matrix").M22 = Math.cos(angle/(360/(2*Math.PI)));

  if (angle<=90 && angle>=0) {

  pointer.style.top = 165/2 - (118/2/Math.cos(45/(360/(2*Math.PI)))*Math.cos((45-angle)/(360/(2*Math.PI))));

  pointer.style.left = 165/2 - (118/2/Math.cos(45/(360/(2*Math.PI)))*Math.cos((45-angle)/(360/(2*Math.PI))));

  }

  if (angle<=180 && angle>=90) {

  pointer.style.top = 165/2 + (118/2/Math.cos(45/(360/(2*Math.PI)))*Math.sin((45-angle)/(360/(2*Math.PI))));

  pointer.style.left = 165/2 + (118/2/Math.cos(45/(360/(2*Math.PI)))*Math.sin((45-angle)/(360/(2*Math.PI))));

  }

  if (angle<=270 && angle>=180) {

  pointer.style.top = 165/2 + (118/2/Math.cos(45/(360/(2*Math.PI)))*Math.cos((45-angle)/(360/(2*Math.PI))));

  pointer.style.left = 165/2 + (118/2/Math.cos(45/(360/(2*Math.PI)))*Math.cos((45-angle)/(360/(2*Math.PI))));

  }

  if (angle<=360 && angle>=270) {

  pointer.style.top = 165/2 - (118/2/Math.cos(45/(360/(2*Math.PI)))*Math.sin((45-angle)/(360/(2*Math.PI))));

  pointer.style.left = 165/2 - (118/2/Math.cos(45/(360/(2*Math.PI)))*Math.sin((45-angle)/(360/(2*Math.PI))));

  }

 </script>

这是什么啊?

已知圆心和圆上的一点坐标求该点转动任意弧度后的坐标 转动任意弧度,求坐标已知圆心和圆上一点的坐标,求圆上该点转动任意弧度之后的坐标.请讲解下思路及公式。若是JAVA编程人员,给出代码则更好。时间太长,忘光了,汗…… 已知圆心坐标、半径以及绕圆心坐标旋转圆上任意一点的坐标 怎么求旋转了的这个夹角度数?最好能举例说明! 知道了圆心和圆上任意一点坐标,怎么求出圆的半径? 已知圆心坐标和圆弧2端坐标还有半径R求圆弧上任意一点坐标.比如圆心坐标为X100Y200,圆弧两端坐标分别为A100.195和B95.200.半径R=5 求圆弧上任意一点的坐标.求详细公式. 已知长短轴求椭圆上任意一点的坐标 已知一个圆的圆心为坐标原点 半经为2 从这个圆上任意一点向X轴作垂线段PP' 求线段已知一个圆的圆心为坐标原点 半经为2 从这个圆上任意一点向X轴作垂线段PP' 求线段PP'中点M的轨迹 已知一个圆的圆心为坐标原点 半经为2 从这个圆上任意一点向X轴作垂线段PP' 求线段已知一个圆的圆心为坐标原点 半经为2 从这个圆上任意一点向X轴作垂线段PP' 求线段PP'中点M的轨迹 空间圆的方程已知空间圆上的任意三点坐标,求圆心坐标和半径.已知空间圆上任意三点坐标 A(x1,y1,z1),B(x2.y2,z2),C(x3,y3,z3)。求该空间圆的方程,或半径和圆心坐标。 已知圆心坐标和半径,将圆三等份求另两个坐标点的做法比如圆心坐标是(100,100),半径r=20,圆上一点(120,100)固定了,求另两个三等分圆的点怎么求? 已知经过圆弧的两条切线和圆弧上的一点,如何求圆的半径和圆心心坐标? 已知P(x,y)是圆心(1,1),半径为2的圆上任意一点,求x+y的最大值和最小值 已知P(x,y)是圆心(1,1),半径为2的圆上任意一点,求x+y最大值和最小值· 根据弧两端的坐标怎样算出弧度上一点的坐标知道弧度和半径 请问已知任意三点坐标,怎样求空间圆平面的方程以及圆心坐标?已知三点(x1,y1,z1),(x2,y2,z3),(x3,y3,z3),求平面方程和圆心坐标 已知一个圆的圆心为坐标原点,半径为2,从这个圆上任意一点P向X轴作垂线,垂足为P 已知墙上一个圆上三个点的坐标和高程,怎样求圆心坐标和高程? 已知一个圆的圆心为坐标原点,半径为2,从这个圆上任意一点P向x轴做作线段PP1,求线段PP1中点M的轨迹方程