解决方案 »
- 关于SQL 查询
- html标签可以自定义属性吗?
- 三层架构中SQL语句要怎么应用
- asp.net(c#)如何画table
- vs.net2005中reportviewer的错误
- ~求正则表达式:不允许特殊符号(例如!@#$%^&等),但允许中英文和数字
- 如何读出sqlserver中image字段生成图片并显示在网页上,asp.net
- dropdownlist 联动 第二个控件获取不到值
- 正在做B/S报表的朋友,近来好吗
- 树型控件在哪里有下载?在线等待!
- winfrom中弹出的messagebox中的信息可以复制吗
- js 中关于innerHTML的使用 无法读取数据,菜鸟刚出来匝道,向高手求救!!在线等
(x-x1)^2+(y-y1)^2=0
k是指y/x,由此推出tanA=k,得出原始A是多少度.
转B度后的度数为A+B
k1=tan(A+B)
推出方程
y=k1x
(x-x1)^2+(y-y1)^2=0
y=tan(arctanc(y1/x1)+C) ①
x^2+y^2=x1^2+y1^2 ②由②可得 y=±√(x1^2+y1^2-x^2) ③
将③带入① 可得 x=……,y=……
现在还不是答出来了?
{
double[] result = new double[2];
double jiaodu;//初始角度
if (x == 0 && y == 0)
{
MessageBox.Show("输入坐标有问题");
return null;
}
else if (x == 0 && y > 0)
jiaodu = 90;
else if (x == 0 && y < 0)
jiaodu = 270;
else if (y == 0 && x > 0)
jiaodu = 0;
else if (y == 0 && x < 0)
jiaodu = 180;
else
jiaodu = Math.Atan(y / x)*180/Math.PI;
jiaodu += c;
double r = Math.Sqrt(x * x + y * y);
result[0] = Math.Cos(jiaodu / 180 * Math.PI) * r;//x
result[1] = Math.Sin(jiaodu / 180 * Math.PI) * r;//y
return result;
}
有误差
大侠,你这太高深了........全然看不懂啊...arctanc这是啥东西?
tan(60度)=√3
arctan√3=60度
{
double[] result = new double[2];
double jiaodu;//初始角度
if (x == 0 && y == 0)
{
MessageBox.Show("输入坐标有问题");
return null;
}
else if (x == 0 && y > 0)
jiaodu = 90;
else if (x == 0 && y < 0)
jiaodu = 270;
else if (y == 0 && x > 0)
jiaodu = 0;
else if (y == 0 && x < 0)
jiaodu = 180;
else
jiaodu = Math.Atan(y / x)*180/Math.PI;
jiaodu += c;
double r = Math.Sqrt(x * x + y * y);
result[0] = Math.Cos(jiaodu / 180 * Math.PI) * r;//x
result[1] = Math.Sin(jiaodu / 180 * Math.PI) * r;//y
return result;
}
对.net不熟悉,弱弱的问下各位大牛,.net中精度会丢失么。
m*m + n*n = x*x + y*y;n/m = (y/x + tanC)/(1 - y/x*tanc);已知了 x y c 求 m n ;2未知数,2个等式可以确定唯一解;
namespace System.Drawing
{
public struct Point
{
public Point(int x, int y);
}
}
是啊,但是用C#画出来的话还是要用Point这个东西啊...
sin α=∠α的对边 / 斜边
cos α=∠α的邻边 / 斜边
tan α=∠α的对边 / ∠α的邻边
cot α=∠α的邻边 / ∠α的对边
我想应该可以了吧。
坐标对应是
newX = X*cos(c) + Y* sin(c);
newY = -X*sin(c) + Y*cos(c);
C是顺时针还是逆时针记得不太清了 自己试试看吧
x=x1*cos(a)-y1*sin(a);
y=x1*sin(a)+y1*cos(a);
a为角度
x1、y1为起始点
x、y为起始点旋转a角度后的值