/* * Copyright (C) 2011-2015, Peter Abeles. All Rights Reserved. * * This file is part of Geometric Regression Library (GeoRegression). * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package georegression.struct.line; import java.io.Serializable; /** * <p> * Defines a line in 2D space based upon the distance of its closest point to the origin * and the angle of a line from the origin to that point. Also referred to as the polar line * equation. * </p> * * <p> * Equation:<br> * x*cos(θ) + y*sin(θ) = r<br> * where r is the distance from the closest point on the line to the origin, and θ is * an angle tangent to the line. * </p> * @author Peter Abeles */ public class LinePolar2D_F64 implements Serializable{ /** * Distance from the origin to the closest point on the line. */ public double distance; /** * Angle in radians from the origin to the closest point on the line. */ public double angle; public LinePolar2D_F64(double distance, double angle) { this.distance = distance; this.angle = angle; } public LinePolar2D_F64() { } public double getDistance() { return distance; } public void setDistance(double distance) { this.distance = distance; } public double getAngle() { return angle; } public void setAngle(double angle) { this.angle = angle; } public String toString() { return getClass().getSimpleName()+"{ d = "+distance+" angle = "+angle+" }"; } }