⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 求三点夹角(angle).txt

📁 vc++中的点和直线之间的各种几何算法...对c++初学者或者ACM编程者有很大帮助
💻 TXT
字号:
/* 返回顶角在o点,起始边为os,终止边为oe的夹角(单位:弧度) 
角度小于pi,返回正值 
角度大于pi,返回负值 
可以用于求线段之间的夹角 
*/ 
double angle(POINT o,POINT s,POINT e) 
{ 
	double cosfi,fi,norm; 
	double dsx = s.x - o.x; 
	double dsy = s.y - o.y; 
	double dex = e.x - o.x; 
	double dey = e.y - o.y; 
	
	cosfi=dsx*dex+dsy*dey; 
	norm=(dsx*dsx+dey*dey)*(dex*dex+dey*dey); 
	cosfi /= sqrt( norm ); 
	
	if (cosfi >=  1.0 ) return 0; 
	if (cosfi <= -1.0 ) return -3.1415926; 
	
	fi=acos(cosfi); 
	if (dsx*dey-dsy*dex>0) return fi;      // 说明矢量os 在矢量 oe的顺时针方向 
	return -fi; 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -