标题:已知直线的斜率k和b,怎么画出直线呢?
只看楼主
juzi4003
Rank: 1
等 级:新手上路
帖 子:72
专家分:0
注 册:2006-8-22
 问题点数:0 回复次数:6 
已知直线的斜率k和b,怎么画出直线呢?
请问阿:已知直线的斜率k和b,怎么画出直线呢?

还有,CPoint(int,int),点的坐标只能是int 类型吗?
可以用结构体定义成double或其他类型吗?
因为有时候要计算斜率、半径、圆心等的时候,会出现小数,
如果是int型,会产生误差,
怎么处理呢?
谢谢各位了阿!
搜索更多相关主题的帖子: 斜率 直线 
2006-10-25 21:14
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
得分:0 

把它想象成一个直角三角形的斜边,两直角边分别水平和垂直。。斜边不就好话了吗?
点的坐标在默认模式(MM_TEXT映射模式)是像素为单位的。。有半个像素的说法吗?
要想是实际的长度。就必须改变映射模式(CDC::SetMapMode()函数实现):
MM_HIENGLISH:
MM_HIMETRIC:每个逻辑坐标单位被转化为0.01毫米
MM_LOENGLISH:
MM_LOMETRIC:
MM_TWIPS:
其它的意义自己查资料~~~~~~~~



天行健,君子以自强不息!!QQ:68660681
2006-10-25 22:08
juzi4003
Rank: 1
等 级:新手上路
帖 子:72
专家分:0
注 册:2006-8-22
得分:0 
"把它想象成一个直角三角形的斜边,两直角边分别水平和垂直。。斜边不就好话了吗?"
麻烦能否说的详细点呢?
这句话我想不明白呢,只知道k,b,怎么考虑直角边呢?
谢谢阿
2006-10-26 12:40
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
得分:0 
比如说水平的那直角边的长度为L个像素,那垂直的直角边就应该是L*k个像素;
固定一个点(x,y)((0,0)在窗口左上角),直角那个点就应该是(x+L,y),剩下那个点就应该是(x+L,y-L*k);
MoveTo(x+L,y-L*k);
LineTo(x,y);
我只是做个例子。。当然k有可能不是整数。。那就得考虑映射模式了。。

[此贴子已经被作者于2006-10-26 13:33:03编辑过]


天行健,君子以自强不息!!QQ:68660681
2006-10-26 13:00
juzi4003
Rank: 1
等 级:新手上路
帖 子:72
专家分:0
注 册:2006-8-22
得分:0 

首先要谢谢你啊,
不过,这样得不到我要的效果啊,
我可能没说明白,

我是想,首先选择几个点放在一个数组里,然后根据这些点的坐标求出直线方程,
(这些点近似分布在一条直线上)
然后根据直线方程画出直线就可以了,

麻烦再帮我想想吧?

谢谢啊

2006-10-29 09:55
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
得分:0 
那岂不更简单。。你既然算出了直线方程。。那就随便取满足方程的两个点,连一条线不就行了吗?

天行健,君子以自强不息!!QQ:68660681
2006-10-29 12:45
kkisskkill
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-11-6
得分:0 
难道你不知道怎么样确定一条直线吗.
一 条直线只需要两个点就能确定了.
只要想办法找到这两个点就可以了..
祝你成功.
2006-11-06 11:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-98751-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.821010 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved