File indexing completed on 2024-05-12 03:47:51
0001 /* 0002 File : nsl_geom.h 0003 Project : LabPlot 0004 Description : NSL geometry functions 0005 -------------------------------------------------------------------- 0006 SPDX-FileCopyrightText: 2016 Stefan Gerlach <stefan.gerlach@uni.kn> 0007 SPDX-License-Identifier: GPL-2.0-or-later 0008 */ 0009 0010 #ifndef NSL_GEOM_H 0011 #define NSL_GEOM_H 0012 0013 /* point-point distance 0014 point (x1,y1) to (x2,y2) 0015 */ 0016 double nsl_geom_point_point_dist(double x1, double y1, double x2, double y2); 0017 0018 /* point-line distance sqrt(dx^2+dy^2) 0019 point (xp,yp) to line (x1,y1)-(x2,y2) 0020 */ 0021 double nsl_geom_point_line_dist(double x1, double y1, double x2, double y2, double xp, double yp); 0022 0023 /* point-line distance |dy| 0024 point (xp,yp) to line (x1,y1)-(x2,y2) 0025 */ 0026 double nsl_geom_point_line_dist_y(double x1, double y1, double x2, double y2, double xp, double yp); 0027 0028 /* area of triangle defined by three points */ 0029 double nsl_geom_three_point_area(double x1, double y1, double x2, double y2, double x3, double y3); 0030 0031 /* point-point distance in 3d 0032 point (x1,y1,z1) to (x2,y2,z2) 0033 */ 0034 double nsl_geom_point_point_dist3(double x1, double y1, double z1, double x2, double y2, double z2); 0035 0036 #endif /* NSL_GEOM_H */