📄 angles2d.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 + -