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

📄 angles2d.cc

📁 torch tracking code, it is a good code
💻 CC
字号:
const char *help = "\progname: angles2D.cc\n\code2html: This program tests angle 2D functions.\n\version: Torch3 vision2.0, 2004-2005\n\(c) Sebastien Marcel (marcel@idiap.ch)\n";#include "general.h"#include "Point2D.h"#include "Vector2D.h"#include "Triangle2D.h"#include "CmdLine.h"using namespace Torch;int main(int argc, char **argv){ 	real x1, y1; 	real x2, y2;	bool verbose;	// Construct the command line  	CmdLine cmd;	cmd.setBOption("write log", false);	  	// Put the help line at the beginning  	cmd.info(help);  	cmd.addText("\nArguments:");  	cmd.addRCmdArg("x1", &x1, "x1");  	cmd.addRCmdArg("y1", &y1, "y1");  	cmd.addRCmdArg("x2", &x2, "x2");  	cmd.addRCmdArg("y2", &y2, "y2");  	cmd.addText("\nOptions:");  	cmd.addBCmdOption("-verbose", &verbose, false, "verbose");	cmd.read(argc, argv);	Point2D X(x1, y1);	Point2D Y(x2, y2);	// output preset coords of v and w	print("X = %s\n", X.sprint());	print("Y = %s\n", Y.sprint());	print("\n");	///	Vector2D VX(X.x, X.y);	print("VX = %s\n", VX.sprint());	double angleVrad = VX.angle();	double angleVdeg = radian2degree(angleVrad);	print("angle VX = %g radians (%g degrees)\n", angleVrad, angleVdeg);	Vector2D VY(Y.x, Y.y);	print("VY = %s\n", VY.sprint());	angleVrad = VY.angle();	angleVdeg = radian2degree(angleVrad);	print("angle VY = %g radians (%g degrees)\n\n", angleVrad, angleVdeg);	///	double angleXYrad = angle(X, Y);	double angleXYdeg = radian2degree(angleXYrad);	print("angle XY = %g radians (%g degrees)\n", angleXYrad, angleXYdeg);		angleXYrad = angle(Y, X);	angleXYdeg = radian2degree(angleXYrad);	print("angle YX = %g radians (%g degrees)\n\n", angleXYrad, angleXYdeg);		//	Point2D O(0, 0);	Triangle2D T1(O, X, Y);	print("T = {%s, %s, %s}\n", O.sprint(), X.sprint(), Y.sprint());	double angleTrad = T1.angle();	double angleTdeg = radian2degree(angleTrad);	int ccw_ = T1.ccw();	char orientation[100];	if(ccw_ == 0) sprintf(orientation, "none");	else if(ccw_ > 0) sprintf(orientation, "ccw");	else sprintf(orientation, "cw");	print("angle T = %g radians (%g degrees) with %s orientation\n", angleTrad, angleTdeg, orientation);		Triangle2D T2(O, Y, X);	print("T = {%s, %s, %s}\n", O.sprint(), Y.sprint(), X.sprint());	angleTrad = T2.angle();	angleTdeg = radian2degree(angleTrad);	ccw_ = T2.ccw();	if(ccw_ == 0) sprintf(orientation, "none");	else if(ccw_ > 0) sprintf(orientation, "ccw");	else sprintf(orientation, "cw");	print("angle T = %g radians (%g degrees) with %s orientation\n\n", angleTrad, angleTdeg, orientation);	}

⌨️ 快捷键说明

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