本文主要是介绍中点画线中的一些不严谨的地方,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
我认为对于初学者,特别是自学的人,因为没有老师可以请教,所以任何一点不严谨的地方都会让人困惑很久,我个人认为计算机图学中关于中点画线有如下的不严谨的地方:
1、假设直线的一般方程AX+BY+C = 0,那么A=-(deltaY),B=(deltaX),C=-B(deltaX),这个前提是斜率存在的情况下,但是我见过的老师和教材的讲解,却没有前提,具体推导如下:
假设直线上的两点(x1,y1),(x2,y2),那么斜率K=(y2-y1)/(x2-x1),所以y=(deltaY/deltaX)x+b,再将任意一点代入方程,得到
b = (x2y1-x1y2)/(x2-x1),然后化简,直线方程如下:
-(y2-y1)x +(x2-x1)y -(x2y1-x1y2) = 0
因此A = -deltaY,B=deltaX,C=-B*deltaX。
2、判定一个点在直线上下方
我见过的老师和教材都是F(x,y)>0,点在上方,F(x,y)<0,点在下方,F(x,y)=0,点在直线上,这里有个前提,那就是B必须大于0,否则结论就是相反的。
比如:对于直线x-2y+2=0,这里B是负数,那么对于直线上的点P1(1,1.5)上方的点P2(1,2)代入直线方程得到:
1-4+2=-1,函数小于0,但是却在上方。
希望老师和教材能够严谨一些,因为毕竟有很多自学的人,如果我说的不对,请大家用证明的方式指出,只求学术上的正确性。
这篇关于中点画线中的一些不严谨的地方的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!