已知直线过两点(w/2,h/4) (w/4,h/2),根据下面,大神们帮我详细解释下K和B是怎么算的?

梅明子 2014-12-23 02:34:13
设经过这两点的直线方程为:y=kx+b
将(w/2,h/4),(w/4,h/2)代入上面的方程,建立方程组
h/4=k×w/2+b
h/2=k×w/4+b
解上面的方程组,得:k=-h/w,b=3h/4
∴直线方程为:y=(-h/w)x+3h/4


上面是人家写好的,现在我主要是K和B不知道是怎么算来的,实在不解!不要说那些一套一套的,或者很抽象的话。你就告诉我思路,也就是说怎么一步一步算到k=-h/w ,b=3h/4的,我就主要这里看不懂!谢谢!
...全文
143 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
梅明子 2014-12-23
  • 打赏
  • 举报
回复
引用 8 楼 lxfhjjsfq 的回复:

	private void getLine(float x1, float y1, float x2, float y2){
		float k = (y2 - y1) / (x2 - x1);
		float b = y1 - k * x1;
		//y = k * x + b;
	}
x2 != x1,如果垂直于x轴的话就不用这么麻烦了
你上次给我写的那个三角形模板的,移动和缩放的时候不会判断边界越界的问题,你能帮到我吗?
梅明子 2014-12-23
  • 打赏
  • 举报
回复
引用 8 楼 lxfhjjsfq 的回复:

	private void getLine(float x1, float y1, float x2, float y2){
		float k = (y2 - y1) / (x2 - x1);
		float b = y1 - k * x1;
		//y = k * x + b;
	}
x2 != x1,如果垂直于x轴的话就不用这么麻烦了
这个漂亮!省时省心又省力!哈哈!我只需要在直线下方就判断y>这个方法返回值,在直线上方就y<这个方法返回值 就OK了!
_xianfeng99 2014-12-23
  • 打赏
  • 举报
回复

	private void getLine(float x1, float y1, float x2, float y2){
		float k = (y2 - y1) / (x2 - x1);
		float b = y1 - k * x1;
		//y = k * x + b;
	}
x2 != x1,如果垂直于x轴的话就不用这么麻烦了
梅明子 2014-12-23
  • 打赏
  • 举报
回复
引用 4 楼 lxfhjjsfq 的回复:
我去,我还搞复杂了。。。
这样吧!你能写一个通用的方法给我吗?参数为点1和点2,完了我再慢慢学习下以前的这些知识。现在项目紧
_xianfeng99 2014-12-23
  • 打赏
  • 举报
回复
2,3楼的简单点,总是就一个目的: 先消去一个未知数k或b,得出的k或b带入其中的一个式子就可以了
梅明子 2014-12-23
  • 打赏
  • 举报
回复
引用 1 楼 lxfhjjsfq 的回复:
又是你。。。 A.h/4=k*w/2+b B.h/2=k*w/4+b 二元一次方程,h,w已知,求k和b.(其实你可以把k和b假设成一个数就行了) 1.A式*2得: C.h / 2 = k*w + 2b; 2.C式 - B式得: 0 = k * w * 3 / 4 + b;然后得出b = - k * w * 3 / 4; 3.将得出的b带入A或B就能得出k,如带入A h / 4 = k * w / 2 - k * w * 3 / 4; h / 4 = - k * w / 4; k = - h / w; 4.把k = -h / w带入b = -k * w * 3 / 4得: b = -(-h / w) * w * 3 / 4; b = 3 * h / 4; 只此一次了,查一下二元一次方程。自己多写几个图像然后练练就行,把思想转换过来即OK了。
是我啊,怎么了?你这个我表示真看不懂,咋整?
_xianfeng99 2014-12-23
  • 打赏
  • 举报
回复
我去,我还搞复杂了。。。
绝对在乎妮 2014-12-23
  • 打赏
  • 举报
回复
A:h/4=k×w/2+b B:h/2=k×w/4+b B*4-A*4即: 2h-h=(kw+4b)-(2kw+4b) h=-kw 得k=-h/w 把中代回A中即可算出b的值
春华-秋实 2014-12-23
  • 打赏
  • 举报
回复
不明白,你是要它实现的算法,还是简单解方程组。 h/4=k×w/2+b -----1 h/2=k×w/4+b -----2 2-1 得 h/4 = -kw/4 变换得 -h/w = k 将结果代入得出b 方程得解。
_xianfeng99 2014-12-23
  • 打赏
  • 举报
回复
又是你。。。 A.h/4=k*w/2+b B.h/2=k*w/4+b 二元一次方程,h,w已知,求k和b.(其实你可以把k和b假设成一个数就行了) 1.A式*2得: C.h / 2 = k*w + 2b; 2.C式 - B式得: 0 = k * w * 3 / 4 + b;然后得出b = - k * w * 3 / 4; 3.将得出的b带入A或B就能得出k,如带入A h / 4 = k * w / 2 - k * w * 3 / 4; h / 4 = - k * w / 4; k = - h / w; 4.把k = -h / w带入b = -k * w * 3 / 4得: b = -(-h / w) * w * 3 / 4; b = 3 * h / 4; 只此一次了,查一下二元一次方程。自己多写几个图像然后练练就行,把思想转换过来即OK了。

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧