已知屏幕上的p1,p2两个点,求指定y坐标的p1,p2左右延长线x坐标位置!!!
谢谢谢谢
谢谢谢谢
解决方案 »
- 有raw数据,怎么生成Cximage类对象
- 求activeX 例程:图片简单操作,比如loadimage, zoomin/zoomout,图片平移,等
- 高分跪求VC++6.0下载地址
- 一个赋值的问题,谢谢大家!立刻结分。
- (困扰了好几天的问题)ado 读oracle数据库,如果数据量太大怎么解决?
- 请问,COM+和DCOM有什么区别?UP无分,转贴无分!
- 那里有关于图形编程的好的网站,可以有源代码下载
- 请问*.PDF文件以什么应用程序打开?在线等候!
- 推荐几个好的vc或c,c++源码站,除了codeproject和codeguru.
- 用VS2005(MFC)读串口保存至ACCESS数据库出错,求高手赐教
- 程序要执行一段耗时操作,怎么才能先显示个提示框,等操作完后提示框自动关闭?
- 为什么创建的套接字句柄都一样呢?(欢迎大家讨论,分数不够再加)
既然有了y = kx方程,而k已经计算出来了,y又是已知的,那么计算x应该非常容易了吧
我想应该不是很难理解吧
我按照你的算法做了,这是程序代码,不过我发现计算出来的x值误差太大了,连接点基本就是一个曲线。还有什么好办法解决嘛?
CPoint p1(60,100);
CPoint p2(150,200); pDC->MoveTo(p1);
pDC->LineTo(p2); double k = (p1.y-p2.y)/(p1.x-p2.x);
int y = 300;
double x = y / k; pDC->MoveTo(p2);
pDC->LineTo(x,y);
=================
这一句需要修改:
double k = (p1.y-p2.y)/(double)(p1.x-p2.x);
强制转换成double再计算。否则由于p1和p2都是整数,导致除法得到的结果是整除的结果,没有小数。
double y = 300;
double x = y / k;以上是我该过的代码,不过效果仍然不明显,画出来的延长线仍然是曲线啊