已知两点,画一条直线,判断线的每个坐标点位置,线是(斜线) 已知两点,画一条直线,判断线的每个坐标点位置,线是(斜线)最好是有vc的公式 ,如 第一点P1,第二点P2 P1.x-P2.x 这种方式 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 vc有这样的公式么?直接算直线的表达式,然后穷举吧用两点算表达式y = ax + b求a,b,然后穷举一个区域,求另一个值 用数学公式算就行了(x,ax+b) 能不能说的细一点,如这个公式,在vc里面怎么用(x,ax+b)公式 比如 取两点之间的斜率 斜率=k k=(P2.y-P1.y)/(P2.x-P1.x) 两点算表达式y = ax + b求a,b,然后穷举一个区域,求另一个值 计算出两点P1,P2之间的角度angle,若P1(x0,y0),计算下一点N(x,y)坐标为:x = r*cos(angle) + x0;y = r*sin(angle) + y0;注:r为P1点到下一个点的距离.r小于P1,P2之间的距离 有已知的两点完全可以出去通过这两点的直线的嘛,斜率k=(P2.y-P1.y)/(P2.x-P1.x),然后y=kx+b,带入其中的一个点就可以求出b的值,自然就可以算出想要的值了啊! 我这方面不懂,能不能把 y代表什么 ax代表什么描述一下 谢谢 你要根据一个X坐标得到一个Y坐标.那么你的X肯定是给定的,而你的a,b也是根据数学可以计算出来的Double xGetLinePointY(double pointy){ return a*pointY+b;} y=kx+b 不会解开,不知道都代表怎么,b怎么求出来的 假设有两点:(x1,y1),(x2,y2)则画直线的代码为:CDC* pDC;pDC->MoveTo(x1,y1);pDC->LIneTo(x2,y2);至于找该直线上的点,代码为CString strY,strX,strCoordinate;float valueY;int PositionY=0; //输出坐标在屏幕上的位置for(int i=x1,i<=x2,i++){ valueY=(y2-y1)*(i-x1)/(x2-x1)+y1; //根据x值计算y值的公式 strY.Format("%f",valueY); strX.Format("%d",valueX); strCoordinate=strX+","+strY; pDC->TextOut(0,PositionY,strCoordinate); //在屏幕上显示坐标值 PositionY=Position+20; //从上到下每20个像素输出一个值} 两点 A(x1,y1),B(x2,y2)if(x1>x2)//保证 x1<x2{ C=A; A=B; B=A;}float k = (y2-y1)/(x2-x1); //斜率,x2 ==x1的情况另外处理int pointnum = x2-x1+1;POINT pt[pointnum];for(int x = x1; x<x2;x++){pt[x-x1].x = x;pt[x-x1].y = (int)(k(x-x1)+y1);} VS2010里怎么使用DeletMenu()? 获取一个窗口句柄,能完全的对这个窗口控制么 一个客户端如何往多个服务器上同时发文件? VC中如何在ComboBox控件中显示单位平方米 问一个hook弱智问题 在局域网内传输文件,如何尽量达到最高速度?欢迎大家讨论。 问个问题 也算作个调查(参与者有分) 我装了vc以后,经常打开ie窗口就出现"出现运行期错误..."我选是就打开一个窗口,好像是vc,咋回事? 关于CFont类参数思索 在DLL中建立窗口 新写的colorbutton类,如何在对话框中创建对象 请教 mfc 读取位图 RGB分量,并且改变RGB分量值谢谢!!
用两点算表达式y = ax + b求a,b,
然后穷举一个区域,求另一个值
然后穷举一个区域,求另一个值
x = r*cos(angle) + x0;
y = r*sin(angle) + y0;
注:r为P1点到下一个点的距离.r小于P1,P2之间的距离
Double xGetLinePointY(double pointy)
{
return a*pointY+b;
}
y=kx+b 不会解开,不知道都代表怎么,b怎么求出来的
CDC* pDC;
pDC->MoveTo(x1,y1);
pDC->LIneTo(x2,y2);
至于找该直线上的点,代码为
CString strY,strX,strCoordinate;
float valueY;
int PositionY=0; //输出坐标在屏幕上的位置for(int i=x1,i<=x2,i++)
{
valueY=(y2-y1)*(i-x1)/(x2-x1)+y1; //根据x值计算y值的公式
strY.Format("%f",valueY);
strX.Format("%d",valueX);
strCoordinate=strX+","+strY;
pDC->TextOut(0,PositionY,strCoordinate); //在屏幕上显示坐标值
PositionY=Position+20; //从上到下每20个像素输出一个值
}
if(x1>x2)//保证 x1<x2
{
C=A;
A=B;
B=A;
}float k = (y2-y1)/(x2-x1); //斜率,x2 ==x1的情况另外处理int pointnum = x2-x1+1;
POINT pt[pointnum];
for(int x = x1; x<x2;x++)
{
pt[x-x1].x = x;
pt[x-x1].y = (int)(k(x-x1)+y1);
}