libdmtx 0.7.8.7
libdmtx is a software library that enables programs to read and write Data Matrix barcodes of the modern ECC200 variety.
Loading...
Searching...
No Matches
dmtxvector2.c File Reference

libdmtx - Data Matrix Encoding/Decoding Library Copyright 2008, 2009 Mike Laughton. More...

#include <assert.h>
#include <math.h>
#include "dmtx.h"
#include "dmtxstatic.h"

Go to the source code of this file.

Functions

DmtxVector2dmtxVector2AddTo (INOUT DmtxVector2 *v1, const DmtxVector2 *v2)
 向量相加
 
DmtxVector2dmtxVector2Add (OUT DmtxVector2 *vOut, const DmtxVector2 *v1, const DmtxVector2 *v2)
 向量相加
 
DmtxVector2dmtxVector2SubFrom (INOUT DmtxVector2 *v1, const DmtxVector2 *v2)
 向量相减
 
DmtxVector2dmtxVector2Sub (OUT DmtxVector2 *vOut, const DmtxVector2 *v1, const DmtxVector2 *v2)
 向量相减
 
DmtxVector2dmtxVector2ScaleBy (INOUT DmtxVector2 *v, double s)
 向量数乘
 
DmtxVector2dmtxVector2Scale (OUT DmtxVector2 *vOut, const DmtxVector2 *v, double s)
 向量数乘
 
double dmtxVector2Cross (const DmtxVector2 *v1, const DmtxVector2 *v2)
 二维向量叉积
 
double dmtxVector2Norm (INOUT DmtxVector2 *v)
 归一化
 
double dmtxVector2Dot (const DmtxVector2 *v1, const DmtxVector2 *v2)
 二维向量点积
 
double dmtxVector2Mag (const DmtxVector2 *v)
 二维向量的模
 
double dmtxDistanceFromRay2 (const DmtxRay2 *r, const DmtxVector2 *q)
 计算点到直线的垂直距离
 
double dmtxDistanceAlongRay2 (const DmtxRay2 *r, const DmtxVector2 *q)
 
DmtxPassFail dmtxRay2Intersect (OUT DmtxVector2 *point, const DmtxRay2 *p0, const DmtxRay2 *p1)
 判断两条直线是否相交,并计算交点。
 
DmtxPassFail dmtxPointAlongRay2 (OUT DmtxVector2 *point, const DmtxRay2 *r, double t)
 计算直线上特定位置的点
 

Detailed Description

libdmtx - Data Matrix Encoding/Decoding Library Copyright 2008, 2009 Mike Laughton.

All rights reserved. Copyright 2012-2016 Vadim A. Misbakh-Soloviov. All rights reserved.

See LICENSE file in the main project directory for full terms of use and distribution.

Contact: Vadim A. Misbakh-Soloviov dmtx@.nosp@m.mva..nosp@m.name Mike Laughton mike@.nosp@m.drag.nosp@m.onfly.nosp@m.logi.nosp@m.c.com

二维向量数学运算

Definition in file dmtxvector2.c.

Function Documentation

◆ dmtxDistanceAlongRay2()

double dmtxDistanceAlongRay2 ( const DmtxRay2 * r,
const DmtxVector2 * q )
extern

Definition at line 145 of file dmtxvector2.c.

◆ dmtxDistanceFromRay2()

double dmtxDistanceFromRay2 ( const DmtxRay2 * r,
const DmtxVector2 * q )
extern

计算点到直线的垂直距离

Definition at line 131 of file dmtxvector2.c.

◆ dmtxPointAlongRay2()

DmtxPassFail dmtxPointAlongRay2 ( OUT DmtxVector2 * point,
const DmtxRay2 * r,
double t )
extern

计算直线上特定位置的点

I = p + t·v

Parameters
[out]point点I的坐标。
[in]r直线
[in]t表示沿射线方向的位置参数(从射线起点开始测量的距离)。

Definition at line 195 of file dmtxvector2.c.

◆ dmtxRay2Intersect()

DmtxPassFail dmtxRay2Intersect ( OUT DmtxVector2 * point,
const DmtxRay2 * p0,
const DmtxRay2 * p1 )
extern

判断两条直线是否相交,并计算交点。

用向量叉乘求直线交点 https://www.cnblogs.com/zhb2000/p/vector-cross-product-solve-intersection.html

Parameters
point交点坐标(如果存在)
p0第一条直线
p1第二条直线
Returns
返回DmtxPass表示射线相交,并已计算出交点;返回DmtxFail表示射线不相交或几乎平行。

Definition at line 170 of file dmtxvector2.c.

◆ dmtxVector2Add()

DmtxVector2 * dmtxVector2Add ( OUT DmtxVector2 * vOut,
const DmtxVector2 * v1,
const DmtxVector2 * v2 )
extern

向量相加

Definition at line 37 of file dmtxvector2.c.

◆ dmtxVector2AddTo()

DmtxVector2 * dmtxVector2AddTo ( INOUT DmtxVector2 * v1,
const DmtxVector2 * v2 )
extern

向量相加

Definition at line 26 of file dmtxvector2.c.

◆ dmtxVector2Cross()

double dmtxVector2Cross ( const DmtxVector2 * v1,
const DmtxVector2 * v2 )
extern

二维向量叉积

Definition at line 89 of file dmtxvector2.c.

◆ dmtxVector2Dot()

double dmtxVector2Dot ( const DmtxVector2 * v1,
const DmtxVector2 * v2 )
extern

二维向量点积

Definition at line 115 of file dmtxvector2.c.

◆ dmtxVector2Mag()

double dmtxVector2Mag ( const DmtxVector2 * v)
extern

二维向量的模

Definition at line 123 of file dmtxvector2.c.

◆ dmtxVector2Norm()

double dmtxVector2Norm ( INOUT DmtxVector2 * v)
extern

归一化

Definition at line 97 of file dmtxvector2.c.

◆ dmtxVector2Scale()

DmtxVector2 * dmtxVector2Scale ( OUT DmtxVector2 * vOut,
const DmtxVector2 * v,
double s )
extern

向量数乘

Definition at line 79 of file dmtxvector2.c.

◆ dmtxVector2ScaleBy()

DmtxVector2 * dmtxVector2ScaleBy ( INOUT DmtxVector2 * v,
double s )
extern

向量数乘

Definition at line 68 of file dmtxvector2.c.

◆ dmtxVector2Sub()

DmtxVector2 * dmtxVector2Sub ( OUT DmtxVector2 * vOut,
const DmtxVector2 * v1,
const DmtxVector2 * v2 )
extern

向量相减

Definition at line 58 of file dmtxvector2.c.

◆ dmtxVector2SubFrom()

DmtxVector2 * dmtxVector2SubFrom ( INOUT DmtxVector2 * v1,
const DmtxVector2 * v2 )
extern

向量相减

Definition at line 47 of file dmtxvector2.c.