XDSoft 发表于 2025-5-15 04:38:36

XDrxAPI 102 个数学函数帮助手册

1
函数名称: xdrx-math->round

描述:
将指定数字按指定精度进行四舍五入。例如,如果精度为 0.1,则数字将保留到十分位;如果精度为 1,则保留到整数位。

调用格式:
(xdrx-math->round 精度 数值)

参数说明:
- 精度:四舍五入的精度(如 0.01、0.1、1 等)。
- 数值:要进行四舍五入的数字。

返回值:
返回按精度四舍五入后的结果。

示例用法:
(xdrx-math->round 0.1 1.2345)
返回: `1.2`

(xdrx-math->round 0.01 3.14159)
返回: `3.14`
------------------------------------------------------------
2
函数名称: xdrx-math-abs

描述:
返回指定数值的绝对值。

调用格式:
(xdrx-math-abs <数值>)

参数说明:
- <数值>:必选参数,可以是整数或浮点数。

返回值:
返回该数值的绝对值,类型与输入相同。

示例用法:
(xdrx-math-abs -5)
返回: 5

(xdrx-math-abs -3.14)
返回: 3.14
------------------------------------------------------------
3
函数名称: xdrx-math-acos

描述:
返回指定值的反余弦值(单位为弧度)。

调用格式:
(xdrx-math-acos <数值>)

参数说明:
- <数值>:必选参数,输入范围应为 -1 到 1 之间的实数。

返回值:
返回反余弦值,单位为弧度。

示例用法:
(xdrx-math-acos 1)
返回: 0.0

(xdrx-math-acos 0)
返回: 1.5707963267948966
------------------------------------------------------------
4
函数名称: xdrx-math-acosh

描述:
返回指定值的反双曲余弦值(单位为弧度)。

调用格式:
(xdrx-math-acosh <数值>)

参数说明:
- <数值>:必选参数,输入必须大于等于 1 的实数。

返回值:
返回反双曲余弦值,单位为弧度。

示例用法:
(xdrx-math-acosh 1)
返回: 0.0

(xdrx-math-acosh 10)
返回: 2.993222846126381
------------------------------------------------------------
5
函数名称: xdrx-math-anglebetween

描述:
计算两个向量之间的夹角(单位为弧度)。可以处理二维或三维向量。

调用格式:
(xdrx-math-anglebetween <向量A> <向量B>)

参数说明:
- <向量A>:必选参数,第一个向量,二维或三维点。
- <向量B>:必选参数,第二个向量,必须与向量A维度一致。

返回值:
返回两个向量的夹角(弧度制,范围 0~π)。

示例用法:
(xdrx-math-anglebetween (list 1 0) (list 0 1))
返回: 1.5707963267948966; 即 π/2 弧度

(xdrx-math-anglebetween (list 1 0 0) (list 1 1 0))
返回: 0.7853981633974483; 即 π
------------------------------------------------------------
6
函数名称: xdrx-math-asin

描述:
计算一个值的反正弦(arcsin),返回的结果以弧度表示。

调用格式:
(xdrx-math-asin <值>)

参数说明:
- <值>:必选参数,一个介于 -1 到 1 之间的实数。

返回值:
返回该值的反正弦(弧度)。

示例用法:
(xdrx-math-asin 0.5)
返回: 0.5235987755982989; 即 π/6 弧度
------------------------------------------------------------
7
函数名称: xdrx-math-asinh

描述:
计算一个值的反双曲正弦(asinh),结果以弧度表示。

调用格式:
(xdrx-math-asinh <值>)

参数说明:
- <值>:必选参数,一个实数。

返回值:
返回该值的反双曲正弦(弧度)。

示例用法:
(xdrx-math-asinh 1.0)
返回: 0.881373587019543
------------------------------------------------------------
8
函数名称: xdrx-math-atan

描述:
计算一个实数的反正切值(atan),结果以弧度表示。

调用格式:
(xdrx-math-atan <值>)

参数说明:
- <值>:必选参数,一个实数或整数。

返回值:
返回该值的反正切值(弧度)。

示例用法:
(xdrx-math-atan 1.0)
返回: 0.785398163397448
------------------------------------------------------------
9
函数名称: xdrx-math-atan2

描述:
计算两个数 y 和 x 的反正切值(atan2),返回结果以弧度表示。此函数考虑了 y 和 x 的符号,适用于二维坐标的极角计算。

调用格式:
(xdrx-math-atan2 <y> <x>)

参数说明:
- <y>:必选参数,表示纵坐标(实数)。
- <x>:必选参数,表示横坐标(实数)。

返回值:
返回值为 y 和 x 的反正切值,结果以弧度表示。

示例用法:
(xdrx-math-atan2 1.0 1.0)
返回: 0.785398163397448
------------------------------------------------------------
10
函数名称: xdrx-math-atanh

描述:
计算一个数的反双曲正切值(atanh),该值用于计算双曲函数中的反函数,返回结果以弧度表示。

调用格式:
(xdrx-math-atanh <d>)

参数说明:
- <d>:必选参数,表示输入值(实数),该值必须在 -1 到 1 之间。

返回值:
返回值为输入值的反双曲正切值,结果以弧度表示。

示例用法:
(xdrx-math-atanh 0.5)
返回: 0.5493061443340548
------------------------------------------------------------
11
函数名称: xdrx-math-bitlist

描述:
将输入的整数数字按位分解为列表,返回一个列表,其中包含数字中每一位上为1的位值。

调用格式:
(xdrx-math-bitlist <num>)

参数说明:
- <num>:必选参数,表示输入的整数数字。

返回值:
返回一个列表,包含数字中每一位上为1的位值。

示例用法:
(xdrx-math-bitlist 7)
返回: (1 2 4)
------------------------------------------------------------
12
函数名称: xdrx-math-cbrt

描述:
计算输入数字的立方根。

调用格式:
(xdrx-math-cbrt <num>)

参数说明:
- <num>:必选参数,表示输入的数字。

返回值:
返回输入数字的立方根。

示例用法:
(xdrx-math-cbrt 27)
返回: 3
------------------------------------------------------------
13
函数名称: xdrx-math-ceil

描述:
返回大于或等于输入数字的最小整数。

调用格式:
(xdrx-math-ceil <num>)

参数说明:
- <num>:必选参数,表示输入的数字。

返回值:
返回大于或等于输入数字的最小整数。

示例用法:
(xdrx-math-ceil 4.3)
返回: 5

------------------------------------------------------------
14
函数名称: xdrx-math-chgsign

描述:
返回输入数字的符号改变后的值。

调用格式:
(xdrx-math-chgsign <num>)

参数说明:
- <num>:必选参数,表示输入的数字。

返回值:
实数

示例用法:
(xdrx-math-chgsign -5)
返回: 5

------------------------------------------------------------
15
函数名称: xdrx-math-clamp

描述:
返回输入值x限制在指定区间内的结果。如果x小于a,返回a;如果x大于b,返回b;否则返回x。

调用格式:
(xdrx-math-clamp <x> <a> <b>)

参数说明:
- <x>:必选参数,表示输入的数字。
- <a>:必选参数,表示区间的下限。
- <b>:必选参数,表示区间的上限。

返回值:
实数

示例用法:
(xdrx-math-clamp 5 1 10)
返回: 5

(xdrx-math-clamp -3 1 10)
返回: 1

(xdrx-math-clamp 15 1 10)
返回: 10

------------------------------------------------------------
16
函数名称: xdrx-math-copysign

描述:
返回一个具有a绝对值且符号与b相同的数字。

调用格式:
(xdrx-math-copysign <a> <b>)

参数说明:
- <a>:必选参数,表示用于提供绝对值的数字。
- <b>:必选参数,表示用于提供符号的数字。

返回值:
实数

示例用法:
(xdrx-math-copysign 3 -4)
返回: -3

(xdrx-math-copysign -5 2)
返回: 5

------------------------------------------------------------
17
函数名称: xdrx-math-cos

描述:
返回指定角度的余弦值。

调用格式:
(xdrx-math-cos <d>)

参数说明:
- <d>:必选参数,表示输入的角度(以弧度为单位)。

返回值:
实数

示例用法:
(xdrx-math-cos 0)
返回: 1

(xdrx-math-cos 3.141592653589793)
返回: -1

------------------------------------------------------------
18
函数名称: xdrx-math-cosh

描述:
返回指定角度的双曲余弦值。

调用格式:
(xdrx-math-cosh <d>)

参数说明:
- <d>:必选参数,表示输入的角度(以弧度为单位)。

返回值:
实数

示例用法:
(xdrx-math-cosh 0)
返回: 1

(xdrx-math-cosh 1)
返回: 1.543080634815243

------------------------------------------------------------
19
函数名称: xdrx-math-crossproduct

描述:
返回两个向量的叉积。

调用格式:
(xdrx-math-crossproduct <point1> <point2>)

参数说明:
- <point1>:必选参数,第一个向量点。
- <point2>:必选参数,第二个向量点。

返回值:
表,包含叉积的三个坐标值。

示例用法:
(xdrx-math-crossproduct '(1 2 3) '(4 5 6))
返回: (result: -3 6 -3)

------------------------------------------------------------
20
函数名称: xdrx-math-cullnumbers

描述:
删除接近零的数字并返回剩余数字。

调用格式:
(xdrx-math-cullnumbers <number-list> [<tolerance>])

参数说明:
- <number-list>:必选参数,包含要处理的数字列表。
- <tolerance>:可选参数,指定容忍误差,默认为 `DOS_ZERO_TOLERANCE`。

返回值:
表,包含删除零值后的剩余数字。

示例用法:
(xdrx-math-cullnumbers '(0.001 0.0001 2.5 -0.001))
返回: (result: 2.5)

------------------------------------------------------------
21
函数名称: xdrx-math-degtodms

描述:
将十进制度转换为度、分、秒格式。

调用格式:
(xdrx-math-degtodms <degree>)

参数说明:
- <degree>:必选参数,表示需要转换的十进制度数。

返回值:
实数,转换后的度、分、秒。

示例用法:
(xdrx-math-degtodms 45.1234)
返回: 45°7'24.24"

------------------------------------------------------------
21
函数名称: xdrx-math-degtodms

描述:
将十进制度转换为度、分、秒格式。

调用格式:
(xdrx-math-degtodms <degree>)

参数说明:
- <degree>:必选参数,表示需要转换的十进制度数。

返回值:
实数,转换后的度、分、秒格式,以十进制表示。

示例用法:
Command: (xdrx-math-degtodms 45.1234)
返回: 45.0724

------------------------------------------------------------
22
函数名称: xdrx-math-degtor

描述:
将十进制度转换为弧度。

调用格式:
(xdrx-math-degtor <degree>)

参数说明:
- <degree>:必选参数,表示需要转换的十进制度数。

返回值:
实数,转换后的弧度值。

示例用法:
Command: (xdrx-math-degtor 45.1234)
返回: 0.7856

------------------------------------------------------------
23
函数名称: xdrx-math-difference

描述:
计算一个数字列表的差值。如果参数是单个数字,将其与列表中的所有值相减。如果是多个数字列表,将相应位置的值进行相减。

调用格式:
(xdrx-math-difference <num1> <num2> ...)

参数说明:
- <num1>, <num2>, ...:必选参数,表示要进行差值运算的数字。

返回值:
- 实数:如果只有一个数字列表,将会返回该列表的差值结果。
- 表:如果是多个数字列表,将返回差值结果的列表。

示例用法:
Command: (xdrx-math-difference 5 3 1)
返回: 1

Command: (xdrx-math-difference (list 5 10 15) (list 3 6 9))
返回: (2 4 6)

------------------------------------------------------------
24
函数名称: xdrx-math-div

描述:
该函数用于执行整数除法操作,返回商和余数。它接受两个参数:被除数和除数。函数通过 `div()` 来计算商和余数,并返回一个包含商和余数的列表。

调用格式:
(xdrx-math-div <numerator> <denominator>)

参数说明:

- <numerator>: 必需,整数类型,被除数。
- <denominator>: 必需,整数类型,除数。

返回值:

* 返回一个包含两个整数的列表,分别是商和余数。

示例用法:
(xdrx-math-div 10 3)
返回: (3 1)

------------------------------------------------------------
25
函数名称: xdrx-math-dmstodeg

描述:
该函数用于将度分秒(DMS)表示的角度转换为十进制度(DEG)。它接受一个参数,表示DMS角度,并返回转换后的十进制度角度。

调用格式:
(xdrx-math-dmstodeg <dms>)

参数说明:

- <dms>: 必需,表示角度的度分秒值,支持实数或整数类型。

返回值:

* 返回转换后的十进制度角度。

示例用法:
(xdrx-math-dmstodeg 45.0724)
返回: 45.1234

------------------------------------------------------------
26
函数名称: xdrx-math-dmstor

描述:
该函数用于将度分秒(DMS)表示的角度转换为弧度(Radians)。它接受一个参数,表示DMS格式的角度,并返回转换后的弧度值。

调用格式:
(xdrx-math-dmstor <dms>)

参数说明:

- <dms>: 必需,表示角度的度分秒值,支持实数或整数类型。

返回值:

* 返回转换后的弧度值(double 类型)。

示例用法:
(xdrx-math-dmstor 45.0724)
返回: 0.7873

------------------------------------------------------------
27
函数名称: xdrx-math-dotproduct

描述:
该函数用于计算两个向量的点积(Dot Product)。支持二维或三维向量,根据输入向量维度自动识别。输入为两个点(向量),返回它们的点积值。

调用格式:
(xdrx-math-dotproduct <pt1> <pt2>)

参数说明:

* `<pt1>`: 必需,第一个点或向量,二维或三维格式。
* `<pt2>`: 必需,第二个点或向量,维度需与第一个一致。

返回值:

* 返回两个向量的点积(double 类型)。

示例用法:
(xdrx-math-dotproduct '(1 2 3) '(4 5 6))
返回: 32.0

(xdrx-math-dotproduct '(1 2) '(3 4))
返回: 11.0

------------------------------------------------------------
27
函数名称: xdrx-math-dotproduct

描述:
该函数用于计算两个向量的点积(Dot Product)。支持二维或三维向量,根据输入向量维度自动识别。输入为两个点(向量),返回它们的点积值。

调用格式:
(xdrx-math-dotproduct <pt1> <pt2>)

参数说明:

* `<pt1>`: 必需,第一个点或向量,二维或三维格式。
* `<pt2>`: 必需,第二个点或向量,维度需与第一个一致。

返回值:

* 返回两个向量的点积(double 类型)。

示例用法:
(xdrx-math-dotproduct '(1 2 3) '(4 5 6))
返回: 32.0

(xdrx-math-dotproduct '(1 2) '(3 4))
返回: 11.0

------------------------------------------------------------

28
函数名称: xdrx-math-double->hex

描述:
该函数用于将一个浮点数(double 类型)转换为其对应的十六进制表示。它接受一个数值(可以是整数或实数),返回该值的 IEEE 754 十六进制表示(按 float 格式处理)。

调用格式:
(xdrx-math-double->hex <number>)

参数说明:

- <number>: 必需,要转换的数值(实数或整数)。

返回值:

* 返回一个包含该浮点数十六进制表示的列表。

示例用法:
(xdrx-math-double->hex 1.0)
返回: ("3F" "80" "00" "00")

(xdrx-math-double->hex 0)
返回: ("00" "00" "00" "00")

------------------------------------------------------------
29
函数名称: xdrx-math-dtr

描述:
该函数将角度值转换为弧度。可以接受以下两种格式的输入:
1. 单一实数(角度值),直接转换为弧度。
2. 分别输入度、分、秒以及可选的符号(nil 表示负方向),合并为一个角度后转换为弧度。

调用格式:
(xdrx-math-dtr <angle>)

(xdrx-math-dtr <deg> )

参数说明:
- <angle>: \<必需> 单一角度值(实数)。
- <deg>: \<必需> 整数形式的角度部分。
- : \[可选] 角度的分钟部分(0–60)。
- : \[可选] 角度的秒钟部分(0–60)。
- : \[可选] 若为 `nil`,表示负方向,其他值表示正方向。

返回值:
- 实数:返回转换后的弧度值。

示例用法:
(xdrx-math-dtr 180)
返回: 3.14159

(xdrx-math-dtr 30 0 0 nil)
返回: -0.523599

------------------------------------------------------------
30
函数名称: xdrx-math-e

描述:
该函数返回自然对数的底数常量 e 的值,约为 2.718281828。

调用格式:
(xdrx-math-e)

参数说明:
- 无参数。

返回值:
- 实数:数学常量 e 的值。

示例用法:
(xdrx-math-e)
返回: 2.718281828

------------------------------------------------------------
31
函数名称: xdrx-math-equal

描述:
该函数用于判断两个实数或两个实数列表在给定容差范围内是否相等。支持单值比较和列表逐项比较。如果未指定容差,则默认使用 AutoCAD 中的 LUPREC 系统变量自动计算容差。

调用格式:
(xdrx-math-equal <a> <b> )

参数说明:
- <a>: 要比较的第一个值(实数或实数列表)。<必须>
- <b>: 要比较的第二个值(实数或实数列表)。<必须>
- : 容差值(非负实数,可选)。如果省略,将使用 AutoCAD 中 LUPREC 系统变量自动推算容差。<可选>

返回值:
- T: 如果在指定容差内相等,返回真值 T。
- Nil: 如果不相等,返回 Nil。

示例用法:
(xdrx-math-equal 1.0001 1.0002 0.001)
返回: T

(xdrx-math-equal 1.0001 1.0002 0.00001)
返回: Nil

(xdrx-math-equal '(1.0 2.0 3.0) '(1.0 2.00001 3.0) 0.001)
返回: T

------------------------------------------------------------
32
函数名称: xdrx-math-exp

描述:
计算以自然常数 *e* 为底的指数函数,即返回 `e^x` 的值。

调用格式:
(xdrx-math-exp <x>)

参数说明:
- <x>: 实数,用作指数。<必须>

返回值:
- 实数: 返回 `exp(x)` 的结果,即 `e` 的 `x` 次幂。
- Nil: 如果输入无效或计算溢出,返回 Nil。

示例用法:
(xdrx-math-exp 1)
返回: 2.7182818...

(xdrx-math-exp 0)
返回: 1.0

------------------------------------------------------------
33
函数名称: xdrx-math-fact

描述:
计算给定整数的阶乘值(n!)。

调用格式:
(xdrx-math-fact <n>)

参数说明:
- <n>: 非负整数。<必须>

返回值:
- 实数: 返回 `n!` 的值(即 `1 * 2 * ... * n`)。
- Nil: 如果参数无效(例如为负数),返回 Nil。

示例用法:
(xdrx-math-fact 5)
返回: 120

(xdrx-math-fact 0)
返回: 1

------------------------------------------------------------
34
函数名称: xdrx-math-floor

描述:
返回不大于给定数的最大整数值(向下取整)。

调用格式:
(xdrx-math-floor <number>)

参数说明:
- <number>: 实数。<必须>

返回值:
- 实数: 向下取整后的整数值。

示例用法:
(xdrx-math-floor 3.9)
返回: 3.0

(xdrx-math-floor -3.1)
返回: -4.0

------------------------------------------------------------
35
函数名称: xdrx-math-fmod

描述:
返回两个数相除的浮点余数(与 `mod` 不同,`fmod` 使用浮点除法并保留符号)。

调用格式:
(xdrx-math-fmod <numerator> <denominator>)

参数说明:
- <numerator>: 实数,被除数。<必须>
- <denominator>: 实数,除数(不能为0)。<必须>

返回值:
- 实数: 浮点余数。

示例用法:
(xdrx-math-fmod 5.3 2.0)
返回: 1.3

(xdrx-math-fmod -5.3 2.0)
返回: -1.3

------------------------------------------------------------
36
函数名称: xdrx-math-frexp

描述:
将实数分解为一个尾数和指数的乘积,返回尾数和指数。

调用格式:
(xdrx-math-frexp <number>)

参数说明:
- <number>: 实数。<必须>

返回值:
- 返回一个包含两个值的列表:
- 第一个值是尾数(实数)。
- 第二个值是指数(整数)。

示例用法:
(xdrx-math-frexp 16.0)
返回: (0.5 5)

------------------------------------------------------------
37
函数名称: xdrx-math-gcd

描述:
该函数用于计算两个整数的最大公约数(GCD)。

调用格式:
(xdrx-math-gcd <a> <b>)

参数说明:
- <a>: 第一个整数。<必须>
- <b>: 第二个整数。<必须>

返回值:
- 返回一个整数,表示两个输入整数的最大公约数。

示例用法:
(xdrx-math-gcd 56 98)
返回: 14

------------------------------------------------------------
38
函数名称: xdrx-math-hex->double

描述:
该函数用于将十六进制字符串转换为对应的双精度浮点数。

调用格式:
(xdrx-math-hex->double <hex>)

参数说明:
- <hex>: 要转换的十六进制字符串。<必须>

返回值:
- 返回一个双精度浮点数,表示输入十六进制字符串转换后的值。

示例用法:
(xdrx-math-hex->double "0x1.8p1")
返回: 3.0

------------------------------------------------------------
39
函数名称: xdrx-math-hexstr2double

描述:
该函数用于将十六进制字符串(以文本格式表示)转换为对应的双精度浮点数。

调用格式:
(xdrx-math-hexstr2double <hexstr>)

参数说明:
- <hexstr>: 要转换的十六进制字符串。<必须>

返回值:
- 返回一个双精度浮点数,表示输入十六进制字符串转换后的值。

示例用法:
(xdrx-math-hexstr2double "0x1.8p1")
返回: 3.0

------------------------------------------------------------
40
函数名称: xdrx-math-hypot

描述:
该函数用于计算两数的欧几里得距离,即 `sqrt(x^2 + y^2)`,它常用于计算两点之间的直线距离。

调用格式:
(xdrx-math-hypot <x> <y>)

参数说明:
- <x>: 第一个数值。<必须>
- <y>: 第二个数值。<必须>

返回值:
- 返回一个双精度浮点数,表示计算出的欧几里得距离。

示例用法:
(xdrx-math-hypot 3 4)
返回: 5.0

------------------------------------------------------------
41
函数名称: xdrx-math-isprime

描述:
该函数用于检查一个整数是否为质数。质数是大于1且只能被1和它本身整除的自然数。

调用格式:
(xdrx-math-isprime <n>)

参数说明:
- <n>: 要检查的整数。<必须>

返回值:
- 如果参数 <n> 是质数,返回 `T`。
- 如果参数 <n> 不是质数,返回 `Nil`。

示例用法:
(xdrx-math-isprime 7)
返回: `T`

(xdrx-math-isprime 10)
返回: `Nil`

------------------------------------------------------------
42
函数名称: xdrx-math-lcm

描述:
该函数用于计算两个整数的最小公倍数(LCM)。最小公倍数是能被两个数整除的最小正整数。

调用格式:
(xdrx-math-lcm <a> <b>)

参数说明:
- <a>: 第一个整数。<必须>
- <b>: 第二个整数。<必须>

返回值:
- 返回 <a> 和 <b> 的最小公倍数。

示例用法:
(xdrx-math-lcm 6 8)
返回: `24`

(xdrx-math-lcm 15 20)
返回: `60`

------------------------------------------------------------
43
函数名称: xdrx-math-lcm

描述:
该函数用于计算两个整数的最小公倍数(LCM)。它接受两个整数作为输入,计算并返回它们的最小公倍数。

调用格式:
(xdrx-math-lcm <a> <b>)

参数说明:
- <a>: 整数
- <b>: 整数

返回值:
- 整数: 返回两个整数的最小公倍数(LCM)。

示例用法:
(xdrx-math-lcm 6 8)
返回: 24

------------------------------------------------------------
44
函数名称: xdrx-math-ldexp

描述:
该函数用于计算指定浮点数与给定指数的乘积,即 `an * 2^an1`。它接受两个参数:一个浮点数和一个整数作为指数,并返回计算结果。

调用格式:
(xdrx-math-ldexp <an> <an1>)

参数说明:
- <an>: 实数
- <an1>: 整数

返回值:
- 实数: 返回 `an * 2^an1` 的结果。

示例用法:
(xdrx-math-ldexp 5 3)
返回: 40

------------------------------------------------------------
45
函数名称: xdrx-math-length

描述:
该函数用于计算给定点的长度。如果点是2D点,它将返回2D长度;如果是3D点,则返回3D长度。

调用格式:
(xdrx-math-length <point>)

参数说明:
- <point>: 点表

返回值:
- 实数: 返回点的长度。

示例用法:
(xdrx-math-length '(1 2))
返回: 2.23606797749979

------------------------------------------------------------
46
函数名称: xdrx-math-log

描述:
该函数用于计算给定数字的自然对数(以e为底)。它接受一个实数作为参数,并返回该实数的自然对数。

调用格式:
(xdrx-math-log <num>)

参数说明:
- <num>: 实数

返回值:
- 实数: 返回给定数字的自然对数。

示例用法:
(xdrx-math-log 10)
返回: 2.302585092994046

------------------------------------------------------------
47
函数名称: xdrx-math-log10

描述:
该函数用于计算给定数字的以10为底的对数。它接受一个实数作为参数,并返回该实数的以10为底的对数。

调用格式:
(xdrx-math-log10 <num>)

参数说明:
- <num>: 实数

返回值:
- 实数: 返回给定数字的以10为底的对数。

示例用法:
(xdrx-math-log10 100)
返回: 2

------------------------------------------------------------
48
函数名称: xdrx-math-log2

描述:
该函数用于计算给定数字的以2为底的对数。它接受一个实数作为参数,并返回该实数的以2为底的对数。

调用格式:
(xdrx-math-log2 <num>)

参数说明:
- <num>: 实数

返回值:
- 实数: 返回给定数字的以2为底的对数。

示例用法:
(xdrx-math-log2 8)
返回: 3

------------------------------------------------------------
49
函数名称: xdrx-math-long-divide

描述:
该函数用于将一个长整数分解为低字和高字两个部分。它接受一个长整型或短整型参数,并将其拆分为低字和高字,返回结果为两个长整型数值。

调用格式:
(xdrx-math-long-divide <num>)

参数说明:
- <num>: 长整型或短整型

返回值:
- 一个包含低字和高字两个长整型数值的列表。

示例用法:
(xdrx-math-long-divide 12345678)
返回: (1234 5678)

------------------------------------------------------------
50
函数名称: xdrx-math-long-divide

描述:
该函数用于将一个长整数分解为低字和高字两个部分。它接受一个长整型或短整型参数,并将其拆分为低字和高字,返回结果为两个长整型数值。

调用格式:
(xdrx-math-long-divide <num>)

参数说明:
- <num>: 长整型或短整型

返回值:
- 一个包含低字和高字两个长整型数值的列表。

示例用法:
(xdrx-math-long-divide 12345678)
返回: (24910 188)

------------------------------------------------------------
51
函数名称: xdrx-math-max

描述:
该函数用于从给定的数字列表中找出最大值。它接受多个数字作为参数,返回列表中的最大数字。

调用格式:
(xdrx-math-max <num1> <num2> ...)

参数说明:
- <num>: 数字,可以是多个数字

返回值:
- 返回最大值

示例用法:
(xdrx-math-max 3 5 7 2)
返回: 7

------------------------------------------------------------
52
函数名称: xdrx-math-mean

描述:
该函数用于计算给定数字列表的平均值,接受多个数字或数字列表作为参数,返回平均值。

调用格式:
(xdrx-math-mean <num1> <num2> ...)

参数说明:
- <num>: 数字,可以是多个数字或者数字列表

返回值:
- 实数

示例用法:
(xdrx-math-mean 3 5 7 2)
返回: 4.25

------------------------------------------------------------
53
函数名称: xdrx-math-median

描述:
该函数用于计算给定数字列表的中位数,接受多个数字或数字列表作为参数,返回中位数。

调用格式:
(xdrx-math-median <num1> <num2> ...)

参数说明:
- <num>: 数字,可以是多个数字或者数字列表

返回值:
- 实数

示例用法:
(xdrx-math-median 3 5 7 2)
返回: 4.0

------------------------------------------------------------
54
函数名称: xdrx-math-min

描述:
该函数用于计算给定数字列表中的最小值,接受多个数字或数字列表作为参数,返回最小值。

调用格式:
(xdrx-math-min <num1> <num2> ...)

参数说明:
- <num>: 数字,可以是多个数字或者数字列表

返回值:
- 实数

示例用法:
(xdrx-math-min 3 5 7 2)
返回: 2.0

------------------------------------------------------------
55
函数名称: xdrx-math-mode

描述:
该函数用于计算给定数字列表中的众数,接受多个数字或数字列表作为参数,返回众数。如果有多个众数,返回所有众数的列表。

调用格式:
(xdrx-math-mode <num1> <num2> ...)

参数说明:
- <num>: 数字,可以是多个数字或者数字列表

返回值:
- 表(包含众数)

示例用法:
(xdrx-math-mode 1 2 2 3 3 3 4)
返回: (3.0)

------------------------------------------------------------
56
函数名称: xdrx-math-modf

描述:
该函数用于将一个实数拆分为整数部分和小数部分。它接受一个实数作为参数,返回整数部分和小数部分。

调用格式:
(xdrx-math-modf <x>)

参数说明:
- <x>: 实数

返回值:
- 表(包含整数部分和小数部分)

示例用法:
(xdrx-math-modf 3.14159)
返回: (3.0 0.14159)

------------------------------------------------------------
57
函数名称: xdrx-math-abs

描述:
该函数用于返回一个实数的绝对值。它接受一个实数作为参数,并返回该实数的绝对值。

调用格式:
(xdrx-math-abs <d>)

参数说明:
- <d>: 实数

返回值:
- 实数(绝对值)

示例用法:
(xdrx-math-abs -5.3)
返回: 5.3

------------------------------------------------------------
58
函数名称: xdrx-math-moment

描述:
该函数用于计算一组数值的矩(moment),包括平均值、绝对偏差、标准差、方差、偏度和峰度。它接受一组数值作为参数,并返回这些统计量。

调用格式:
(xdrx-math-moment <list>)

参数说明:
- <list>: 数字表(包含至少两个数字)

返回值:
- 数字表(包含平均值、绝对偏差、标准差、方差、偏度和峰度)

示例用法:
(xdrx-math-moment 1 2 3 4 5)
返回: (3.0 1.414 1.414 2.0 0.0 1.0)

------------------------------------------------------------
59
函数名称: xdrx-math-movebit

描述:
该函数用于对输入的整数进行位移动操作。它接受两个参数,第一个为待移动的整数,第二个为要移动的位数。根据位移动的结果,返回处理后的整数或长整数。

调用格式:
(xdrx-math-movebit <val> <shift>)

参数说明:
- <val>: 输入的整数(可以是短整数或长整数)
- <shift>: 移动的位数

返回值:
- 返回处理后的整数(如果结果在短整数范围内),或长整数(如果结果超出短整数范围)

示例用法:
(xdrx-math-movebit 12345 2)
返回: 3086

------------------------------------------------------------
60
函数名称: xdrx-math-negate

描述:
该函数用于将输入的数字列表中的每个数字取反(即将其符号变为相反数)。如果输入是单个数字,返回其符号相反的值。如果输入是一个数字列表,返回每个数字符号相反后的列表。

调用格式:
(xdrx-math-negate <num1> <num2> ...)

参数说明:
- <num1>, <num2>, ...: 输入的数字,可以是一个或多个。

返回值:
- 返回输入数字的符号相反后的值。如果输入是数字列表,则返回处理后的列表。

示例用法:
(xdrx-math-negate 5 -3 2)
返回: (-5 3 -2)

------------------------------------------------------------
61
函数名称: xdrx-math-normalize

描述:
该函数用于将输入的值t规范化到给定的范围内。规范化的结果是根据输入值t在范围之间的相对位置返回相应的值。若给定的范围无效(如t0 >= t1),则返回错误。

调用格式:
(xdrx-math-normalize <t> <t0> <t1>)

参数说明:
- <t>: 输入值,将被规范化。
- <t0>: 范围的下界。
- <t1>: 范围的上界。

返回值:
- 返回值t在范围内的规范化结果。如果范围无效(t0 >= t1),则返回错误。

示例用法:
(xdrx-math-normalize 5 0 10)
返回: 0.5(因为 5 在范围 0 到 10 中占据的相对位置是 0.5)

------------------------------------------------------------
62
函数名称: xdrx-math-orthogonalp

描述:
该函数用于判断三个点是否构成正交关系。首先,它检查给定的两个点是否在二维或三维空间中,依据参数确定正交的条件。若在二维空间中,调用`IsOrthogonalFrame2d`检查点的正交性;若在三维空间中,调用`IsOrthogonalFrame3d`进行检查。如果满足正交条件,则返回真(`T`);否则返回假(`Nil`)。

调用格式:
(xdrx-math-orthogonalp <X> <Y> [<Z>])

参数说明:
- <X>, <Y>: 两个必选的点。
- <Z>: 可选参数,表示第三个点(仅在三维空间中适用)。

返回值:
- 若满足正交条件,返回`T`。
- 若不满足正交条件,返回`Nil`。

示例用法:
(xdrx-math-orthogonalp (3 0 0) (0 3 0))
返回: T(因为 (3, 0, 0) 和 (0, 3, 0) 构成正交)

------------------------------------------------------------
63
函数名称: xdrx-math-orthonormalp

描述:
该函数用于判断三个点是否构成正交标准基。首先,它检查给定的两个点是否在二维或三维空间中,依据参数确定正交标准基的条件。如果是二维空间,调用`IsOrthonormalFrame2d`检查点的正交标准性;如果是三维空间,调用`IsOrthonormalFrame3d`进行检查。若满足正交标准基条件,则返回真(`T`);否则返回假(`Nil`)。

调用格式:
(xdrx-math-orthonormalp <X> <Y> [<Z>])

参数说明:
- <X>, <Y>: 两个必选的点。
- <Z>: 可选参数,表示第三个点(仅在三维空间中适用)。

返回值:
- 若满足正交标准基条件,返回`T`。
- 若不满足正交标准基条件,返回`Nil`。

示例用法:
(xdrx-math-orthonormalp (1 0 0) (0 1 0))
返回: T(因为 (1, 0, 0) 和 (0, 1, 0) 构成正交标准基)

------------------------------------------------------------
64
函数名称: xdrx-math-parallelp

描述:
判断两个向量是否平行。输入两个点(视为向量),可选第三个参数为角度容差(单位为弧度,默认 1°)。函数根据角度容差计算两个向量的夹角余弦值,判断其是否为平行或反向平行。

调用格式:
(xdrx-math-parallelp <a> <b> [<angle-tol>])

参数说明:
- <a>: 第一个向量(点格式)。
- <b>: 第二个向量(点格式)。
- <angle-tol>: (可选)角度容差(弧度),默认是 π/180(约为 1°)。

返回值:
- 1: 两向量平行(夹角在容差范围内)。
- -1: 两向量反向平行。
- 0: 两向量不平行。

示例用法:
(xdrx-math-parallelp (1 0 0) (10 0 0)) 返回: 1
(xdrx-math-parallelp (1 0) (-1 0))   返回: -1
(xdrx-math-parallelp (1 0) (0 1))      返回: 0

------------------------------------------------------------
65
函数名称: xdrx-math-parameterize

描述:
对一个值 `x` 进行参数化处理,即根据区间 计算其归一化位置。返回值为一个在 范围内的浮点数,表示 `x` 在区间中的相对位置。

调用格式:
(xdrx-math-parameterize <x> <t0> <t1>)

参数说明:
- <x>: 待归一化的数值。
- <t0>: 区间起始值。
- <t1>: 区间结束值(必须大于 t0)。

返回值:
- 返回 `x` 在 区间内的归一化参数值:
\[
\text{result} = \frac{x - t0}{t1 - t0}
\]

示例用法:
(xdrx-math-parameterize 5 0 10) 返回: 0.5
(xdrx-math-parameterize 3 2 6)返回: 0.25

------------------------------------------------------------
66
函数名称: xdrx-math-permute

描述:
对一个元素列表进行全排列,返回所有可能的排列组合。适用于数字、点、字符串等 AutoLISP 支持的基础类型。

调用格式:
(xdrx-math-permute <list>)

参数说明:
- <list>: 一个包含任意数量元素的列表,可以是数字、字符串、点等。

返回值:
- 返回一个包含所有排列组合的列表,每个子项是原始列表的一个排列。

示例用法:
(xdrx-math-permute '(1 2 3))
返回:
((1 2 3) (1 3 2) (2 1 3) (2 3 1) (3 1 2) (3 2 1))

(xdrx-math-permute '("a" "b"))
返回:
(("a" "b") ("b" "a"))

------------------------------------------------------------
67
函数名称: xdrx-math-perpendicularp

描述:
判断两个向量是否垂直(或近似垂直),可选角度容差(单位为弧度,默认值为 1 度)。

调用格式:
(xdrx-math-perpendicularp <vector1> <vector2> [<angle-tolerance>])

参数说明:
- <vector1>: 第一个向量(点形式,例如 (1.0 0.0) 或 (1.0 0.0 0.0))。
- <vector2>: 第二个向量。
- <angle-tolerance>(可选): 容差角度(单位为弧度),默认为 1°,即 `pi/180`。

返回值:
- 若两个向量在指定容差范围内垂直,返回 T;
- 否则返回 nil。

示例用法:
(xdrx-math-perpendicularp '(1 0) '(0 1))
返回: T

(xdrx-math-perpendicularp '(1 1) '(1 -1))
返回: T

(xdrx-math-perpendicularp '(1 0 0) '(0 0 1))
返回: T

(xdrx-math-perpendicularp '(1 0) '(1 0))
返回: nil

------------------------------------------------------------
68
函数名称: xdrx-math-perpendicularto

描述:
返回一个与给定向量垂直的单位向量(二维或三维),方向不唯一。

调用格式:
(xdrx-math-perpendicularto <vector>)

参数说明:
- <vector>: 输入向量(二维或三维点,如 (1.0 0.0) 或 (1.0 0.0 0.0))。

返回值:
- 返回与输入向量垂直的单位向量(二维返回2个值,三维返回3个值);
- 若输入向量为零向量,则返回 nil。

示例用法:
(xdrx-math-perpendicularto '(1 0))
返回: (0.0 1.0)

(xdrx-math-perpendicularto '(0 0 1))
返回: (1.0 0.0 0.0)

(xdrx-math-perpendicularto '(0 0))
返回: nil

------------------------------------------------------------
69
函数名称: xdrx-math-phi

描述:
返回黄金比例常数 φ(phi),其值为 (1 + √5) / 2,约等于 1.618。

调用格式:
(xdrx-math-phi)

参数说明:
- 无参数。

返回值:
- 返回黄金比例常数 φ 的值。

示例用法:
(xdrx-math-phi)
返回: 1.618034

------------------------------------------------------------
70
函数名称: xdrx-math-pi

描述:
返回圆周率常数 π(pi),其值为 3.1415926...

调用格式:
(xdrx-math-pi)

参数说明:
- 无参数。

返回值:
- 返回圆周率常数 π 的值。

示例用法:
(xdrx-math-pi)
返回: 3.141593

------------------------------------------------------------
71
函数名称: xdrx-math-pow

描述:
计算一个数的幂(即 a 的 b 次幂)。

调用格式:
(xdrx-math-pow <base> <exponent>)

参数:
- <base>   :底数,可以是整数或实数。
- <exponent> :指数,可以是整数或实数。

返回值:
- 返回 <base> 的 <exponent> 次幂结果(double)。

示例用法:
(xdrx-math-pow 2 3)
返回: 8.0

(xdrx-math-pow 9 0.5)
返回: 3.0

------------------------------------------------------------
72
函数名称: xdrx-math-product

描述:
计算一组数字的乘积,支持:
1. 多个单独的数字;
2. 多个列表(按位置元素相乘,返回一个新列表)。

调用格式:
(xdrx-math-product <num1> <num2> ...)

(xdrx-math-product <list1> <list2> ...)

参数:
- <num1>, <num2>, ...:多个数字,返回它们的乘积。
- <list1>, <list2>, ...:多个数字列表,每个列表的长度必须一致,按元素位置对应相乘。

返回值:
- 如果参数是多个数字,返回它们的乘积(double)。
- 如果参数是多个等长列表,返回对应元素乘积后的新列表。

示例用法:
(xdrx-math-product 2 3 4)
返回: 24

(xdrx-math-product '(1 2 3) '(4 5 6))
返回: (4 10 18)

------------------------------------------------------------
73
函数名称: xdrx-math-quadratic

描述:
求解一元二次方程 ax² + bx + c = 0 的实根。

调用格式:
(xdrx-math-quadratic <a> <b> <c>)

参数:
- <a>:二次项系数(double)
- <b>:一次项系数(double)
- <c>:常数项(double)

返回值:
- 列表形式:(状态码 根1 根2)
- 状态码:
    - 0:无实数根(虚数根)
    - 1:有一个实根(重根)
    - 2:有两个不相等的实根
- 根1 和 根2:求得的实根(若无实根则为 0.0)

示例用法:
(xdrx-math-quadratic 1 -3 2)
返回: (2 1.0 2.0) ; 表示两个实根 1 和 2

(xdrx-math-quadratic 1 2 5)
返回: (0 0.0 0.0) ; 无实根

------------------------------------------------------------
74
函数名称: xdrx-math-quotient

描述:
计算多个数字之间的商,支持逐项相除。

调用格式:
(xdrx-math-quotient <n1> <n2> <n3> ...)

参数:
- <n1>, <n2>, <n3>, ...:要计算商的数字(double),可以为多个。

返回值:
- 若参数为单个数值,则返回该数值与列表中所有数值的商。
- 若参数为多个数值,则返回列表中每项相除的结果(依次相除,按顺序操作)。

示例用法:
(xdrx-math-quotient 12 3 2)
返回: 2.0

(xdrx-math-quotient 16 2 4)
返回: 2.0
------------------------------------------------------------
75
函数名称: xdrx_math_rand

描述:
生成一个指定范围内的随机数。支持生成整数和浮动点数,并且支持多种范围设置。

调用格式:
(xdrx-math-rand <start> )

参数说明:
- <start>: 必选,随机数的起始值,类型为整数或浮动点数。
- : 可选,随机数的结束值,类型为整数或浮动点数。
- 如果只提供 <start>,则生成一个范围为 的随机数。
- 如果未指定 ,默认生成范围为 的随机数。

返回值:
- 随机数,类型为整数或浮动点数,取决于输入参数的类型。

示例用法:
(xdrx-math-rand <10> <20>)
返回: 生成一个 10 到 20 之间的随机整数。

(xdrx-math-rand <0> <1>)
返回: 生成一个 0 到 1 之间的随机浮动点数。

(xdrx-math-rand <10>)
返回: 生成一个 0 到 10 之间的随机浮动点数。

------------------------------------------------------------
76
函数名称: xdrx_math_random

描述:
生成一个基于标准库 `rand()` 函数的随机整数。

调用格式:
(xdrx-math-random)

参数说明:
- 无参数。

返回值:
- 返回一个随机整数。

示例用法:
(xdrx-math-random)
返回: 生成一个随机整数,值会随着每次调用而变化。   
------------------------------------------------------------   
77
函数名称: xdrx_math_range

描述:
计算给定数字列表的范围,即最大值与最小值的差。如果列表中只有一个元素,返回值为 0。

调用格式:
(xdrx-math-range <num1> )

参数说明:
- <num1>: 必选,第一个数字。
- : 可选,后续数字。

返回值:
- 返回数字列表的范围(最大值 - 最小值)。

示例用法:
(xdrx-math-range <1> <2> <3> <4> <5>)
返回: 4 (5 - 1)   
------------------------------------------------------------   
78
函数名称: xdrx-math-RGauss

描述:
使用高斯消元法对给定的矩阵进行求解,适用于线性方程组。

调用格式:
(xdrx-math-RGauss <matrix>)

参数说明:
- <matrix>: 必选,二维列表,表示待求解的矩阵。矩阵应为方阵(行数等于列数)。
- 元素类型包括 RT3DPOINT(三维点)、RTPOINT(二维点)、RTREAL(实数)、RTSHORT(整数)。
- 示例:
    - ((1 2) (3 4)) 表示 2x2 矩阵。
    - ((1 2 3) (4 5 6) (7 8 9)) 表示 3x3 矩阵。

返回值:
- 返回矩阵的解,浮点数列表。

示例用法:
(xdrx-math-RGauss <((1 2) (3 4))>)
返回: (-2.0 1.0)   
------------------------------------------------------------
79
函数名称: xdrx_math_righthandp

描述:
判断给定的两个或三个点是否构成右手坐标系。

调用格式:
(xdrx_math_righthandp <point1> <point2> )

参数说明:
- <point1>: 必选,二维或三维点,格式为 (x y) 或 (x y z)。
- <point2>: 必选,二维或三维点,格式为 (x y) 或 (x y z)。
- : 可选,三维点,仅三维坐标系下使用,格式为 (x y z)。

返回值:
- 返回 T 或 NIL,表示是否符合右手坐标系。

示例用法:
(xdrx_math_righthandp <(0 0)> <(1 0)>)
返回: T

(xdrx_math_righthandp <(0 0)> <(1 0)> <(0 1)>)
返回: T

------------------------------------------------------------
80
函数名称: xdrx-math-round

描述:
根据指定模式对输入浮点数进行四舍五入。

调用格式:
(xdrx-math-round <number> )

参数说明:
- <number>: 必选,浮点数(double),需要四舍五入的数值。
- : 可选,四舍五入模式,默认值为 6 (roundhalfeven)。支持模式:
- 0: 向上取整 (ceil)
- 1: 向下取整 (floor)
- 2: 四舍五入,向上取整 (round half up)
- 3: 四舍五入,向下取整 (round half down)
- 4: 向上取整,基于0 (round half up 0)
- 5: 向下取整,基于0 (round half down 0)
- 6: 四舍五入,偶数舍入法 (round half even)
- 7: 交替舍入法 (round alternate)
- 8: 基于0的交替舍入法 (round alternate 0)
- 9: 随机四舍五入 (round random)

返回值:
- 返回四舍五入后的浮点数。

示例用法:
(xdrx-math-round <3.14159>)
返回: 3.0

(xdrx-math-round <3.14159> <2>)
返回: 3.0

(xdrx-math-round <3.14159> <4>)
返回: 3.0

------------------------------------------------------------
81
函数名称: xdrx-math-roundto

描述:
此函数用于将输入的数字列表四舍五入至指定的精度。可以选择是否截断结果,基于给定的精度值进行舍入。

调用格式:
(xdrx-math-roundto <数值列表> <精度> [截断标志])

参数说明:
- 数值列表: 一个包含多个浮动数值的列表,类型为浮动数(double)或整数(short),可以包含 2D 或 3D 点。
- 精度: 一个浮动数值,指定舍入的精度。
- 截断标志: [可选] 布尔类型(true 或 false),决定是否截断结果。默认为 false,表示舍入。

返回值:
- 返回四舍五入后的结果,如果有多个结果则以列表形式返回。

示例用法:
(xdrx-math-roundto '(1.234 2.345 3.456) 0.1)
返回: (1.2 2.3 3.5)

(xdrx-math-roundto '(1.234 2.345 3.456) 0.1 t)
返回: (1.2 2.3 3.4)

(xdrx-math-roundto '(1 2 3) 1)
返回: (1 2 3)

注意事项:
- 数值列表中的元素可以是浮动数或整数。
- 传入的精度参数必须是浮动数值。
- 截断标志参数决定是否进行截断,默认为不截断。

------------------------------------------------------------
82
函数名称: xdrx-math-rtd

描述:
此函数将给定的弧度值转换为角度值。输入的参数是弧度值,输出是相应的角度值(度)。

调用格式:
(xdrx-math-rtd <弧度值>)

参数说明:
- 弧度值: 一个浮动数值,表示要转换的弧度值。

返回值:
- 返回转换后的角度值。

示例用法:
(xdrx-math-rtd 1.0)
返回: 57.29577951308232; (1.0 弧度 = 57.29577951308232 度)

(xdrx-math-rtd 3.14159265358979)
返回: 180.0; (π 弧度 = 180 度)

注意事项:
- 输入的弧度值应该是浮动数值。
- 输出的角度值是浮动数值,单位为度。

------------------------------------------------------------
83
函数名称: xdrx-math-roundto

描述:
此函数用于将输入的数字列表四舍五入至指定的精度。可以选择是否截断结果,基于给定的精度值进行舍入。

调用格式:
(xdrx-math-roundto <数值列表> <精度> [截断标志])

参数说明:
- 数值列表: 一个包含多个浮动数值的列表,类型为浮动数(double)或整数(short),可以包含 2D 或 3D 点。
- 精度: 一个浮动数值,指定舍入的精度。
- 截断标志: 可选参数,布尔类型(true 或 false),决定是否截断结果。默认为 false,表示舍入。

返回值:
- 返回四舍五入后的结果,如果有多个结果则以列表形式返回。

示例用法:
(xdrx-math-roundto '(1.234 2.345 3.456) 0.1)
返回: (1.2 2.3 3.5)

(xdrx-math-roundto '(1.234 2.345 3.456) 0.1 t)
返回: (1.2 2.3 3.4)

(xdrx-math-roundto '(1 2 3) 1)
返回: (1 2 3)

注意事项:
- 数值列表中的元素可以是浮动数或整数。
- 传入的精度参数必须是浮动数值。
- 截断标志参数决定是否进行截断,默认为不截断。

------------------------------------------------------------
84
函数名称: xdrx-math-rtd

描述:
此函数将给定的弧度值转换为角度值。输入的参数是弧度值,输出是相应的角度值(度)。

调用格式:
(xdrx-math-rtd <弧度值>)

参数说明:
- 弧度值: 一个浮动数值,表示要转换的弧度值。

返回值:
- 返回转换后的角度值。

示例用法:
(xdrx-math-rtd 1.0)
返回: 57.29577951308232; (1.0 弧度 = 57.29577951308232 度)

(xdrx-math-rtd 3.14159265358979)
返回: 180.0; (π 弧度 = 180 度)

注意事项:
- 输入的弧度值应该是浮动数值。
- 输出的角度值是浮动数值,单位为度。

------------------------------------------------------------
85
函数名称: xdrx-math-rtodeg

描述:
此函数将给定的弧度值转换为度数,首先将弧度值转换为度分秒(DMS)格式,再将其转换为度数表示。

调用格式:
(xdrx-math-rtodeg <弧度值>)

参数说明:
- 弧度值: 一个浮动数值,表示要转换的弧度值。

返回值:
- 返回转换后的度数值。

示例用法:
(xdrx-math-rtodeg 1.0)
返回: 57.29577951308232; (1.0 弧度 = 57.29577951308232 度)

注意事项:
- 输入的弧度值应该是浮动数值或短整型数值。
- 输出的度数值是浮动数值,单位为度。

------------------------------------------------------------
86
函数名称: xdrx-math-rtodms

描述:
此函数将给定的弧度值转换为度分秒(DMS)格式。它首先将弧度转换为度数,然后再分解成度、分和秒部分。

调用格式:
(xdrx-math-rtodms <弧度值>)

参数说明:
- 弧度值: 一个浮动数值,表示要转换的弧度值。

返回值:
- 返回转换后的度分秒值。

示例用法:
(xdrx-math-rtodms 1.0)
返回: 57.29577951308232; (1.0 弧度 = 57.29577951308232 度)

注意事项:
- 输入的弧度值应该是浮动数值或短整型数值。
- 输出为度分秒格式的浮动数值。

------------------------------------------------------------
87
函数名称: xdrx-math-scale

描述:
此函数将对给定的数字列表进行缩放操作。通过乘以给定的缩放因子,返回缩放后的结果。

调用格式:
(xdrx-math-scale <数字列表> <缩放因子>)

参数说明:
- 数字列表: 一个包含多个浮动数值的列表,表示需要缩放的数字。
- 缩放因子: 一个浮动数值,用于缩放数字列表中的每个数字。

返回值:
- 返回缩放后的数字列表。

示例用法:
(xdrx-math-scale (1.0 2.0 3.0) 2.0)
返回: (2.0 4.0 6.0)

注意事项:
- 数字列表应该是浮动数值类型的列表。
- 缩放因子也是浮动数值类型。

------------------------------------------------------------
88
函数名称: xdrx-math-sign

描述:
此函数根据输入数字的符号,选择性地返回不同的值。若输入为负值,则返回第一个参数;若为正值,则返回第三个参数;若为零,则返回第二个参数。如果没有额外的参数,则直接返回数字的符号:-1, 1 或 0。

调用格式:
(xdrx-math-sign <数字> [符号为负时的返回值] [符号为正时的返回值] [符号为零时的返回值])

参数说明:
- 数字: 需要判断符号的数字。
- 符号为负时的返回值: [可选] 若数字为负,返回此值。
- 符号为正时的返回值: [可选] 若数字为正,返回此值。
- 符号为零时的返回值: [可选] 若数字为零,返回此值。

返回值:
- 根据数字的符号返回相应的值。

示例用法:
(xdrx-math-sign -3.0 "负值返回"); 返回 "负值返回"
(xdrx-math-sign 3.0 "负值返回" "正值返回" "零值返回"); 返回 "正值返回"
(xdrx-math-sign 0.0 "负值返回" "正值返回" "零值返回"); 返回 "零值返回"

注意事项:
- 若只提供数字,函数将返回该数字的符号:-1, 1 或 0。

------------------------------------------------------------
89
函数名称: xdrx-math-sinh

描述:
此函数计算输入值的双曲正弦值。输入值为一个浮动数字,返回该值的双曲正弦。

调用格式:
(xdrx-math-sinh <数字>)

参数说明:
- 数字: 输入的数字,函数将计算该数字的双曲正弦值。

返回值:
- 输入数字的双曲正弦值。

示例用法:
(xdrx-math-sinh 1.0); 返回 1.175201
(xdrx-math-sinh 0.0); 返回 0.0

------------------------------------------------------------
90
函数名称: xdrx-math-sortnumbers

描述:
此函数对输入的数字列表进行排序。用户可以选择排序的顺序(升序或降序)。

调用格式:
(xdrx-math-sortnumbers <数字列表> [升序])

参数说明:
- 数字列表: 一个包含数字的列表,函数将对该列表中的数字进行排序。
- 升序: [可选] 默认为升序(`true`)。如果为 `false`,则按降序排序。

返回值:
- 排序后的数字列表。

示例用法:
(xdrx-math-sortnumbers '(5 3 8 1 2)); 返回 (1 2 3 5 8)
(xdrx-math-sortnumbers '(5 3 8 1 2) nil); 返回 (8 5 3 2 1)

------------------------------------------------------------
91
函数名称: xdrx-math-sqrt

描述:
此函数计算输入数字的平方根。

调用格式:
(xdrx-math-sqrt <数字>)

参数说明:
- 数字: 要计算平方根的数字。

返回值:
- 输入数字的平方根。

示例用法:
(xdrx-math-sqrt 16); 返回 4.0
(xdrx-math-sqrt 25); 返回 5.0

------------------------------------------------------------
92
函数名称: xdrx-math-sum

描述:
该函数用于对一个或多个数值或数值列表进行求和操作。如果传入的是一组数字,则返回其总和;如果传入的是多个数值列表,则对每个列表中的对应元素进行逐项求和,返回一个新的数值列表。

调用格式:
(xdrx-math-sum <number | list>

...)

参数说明:

* <number>: <必须> 单个数值或一组数值(数字列表)。
*

: \[可选] 额外的数值列表,用于逐项相加(要求所有列表长度一致)。

返回值:

* 如果输入的是一组数字:返回它们的总和。
* 如果输入的是多个数值列表:返回一个包含逐项求和结果的新列表。

示例用法:
(xdrx-math-sum 1 2 3 4)
返回: 10

(xdrx-math-sum '(1 2 3) '(4 5 6))
返回: (5 7 9)

------------------------------------------------------------
93
函数名称: xdrx-math-tan

描述:
该函数用于计算给定角度(以弧度为单位)的正切值。它接收一个数值作为参数,并返回该角度的正切值。

调用格式:
(xdrx-math-tan <angle>)

参数说明:

* <angle>: <必须> 以弧度表示的角度值。

返回值:

* 返回一个数值,表示输入角度的正切值。

示例用法:
(xdrx-math-tan 1.5707963)
返回: 非定义(极限值)

(xdrx-math-tan 0.7853982)
返回: 1.0

------------------------------------------------------------
94
函数名称: xdrx-math-tanh

描述:
该函数用于计算给定数值的双曲正切(tanh)值。它接受一个数值参数,并返回其双曲正切值。

调用格式:
(xdrx-math-tanh <number>)

参数说明:

* <number>: <必须> 要计算双曲正切的数值。

返回值:

* 返回一个数值,表示输入数值的双曲正切值。

示例用法:
(xdrx-math-tanh 0)
返回: 0.0

(xdrx-math-tanh 1)
返回: 0.7615942

------------------------------------------------------------
95
函数名称: xdrx-math-tinyp

描述:
该函数用于判断一个二维或三维点是否接近原点(0, 0, 0),即该点是否为“微小点”。可以指定一个容差值作为判断依据,默认容差为 `1e-10`。

调用格式:
(xdrx-math-tinyp <point> )

参数说明:

* <point>: <必须> 要判断的二维或三维点。
* : \[可选] 容差值,用于判断点坐标是否接近零。默认值为 1e-10。

返回值:

* 如果该点的所有坐标绝对值都小于或等于容差,则返回 `T`。
* 否则返回 `nil`。

示例用法:
(xdrx-math-tinyp '(0.0 0.0 0.0))
返回: T

(xdrx-math-tinyp '(1e-5 0.0 0.0) 1e-6)
返回: nil

------------------------------------------------------------
96
函数名称: xdrx-math-tripleproduct

描述:
该函数用于计算三个三维向量的混合积(triple product),其值等于点积 A · (B × C)。只能用于三维点,二维点将返回错误。

调用格式:
(xdrx-math-tripleproduct <pointA> <pointB> <pointC>)

参数说明:

* <pointA>: <必须> 第一个三维点。
* <pointB>: <必须> 第二个三维点。
* <pointC>: <必须> 第三个三维点。

返回值:

* 返回一个数值,表示三个向量的混合积(A · (B × C))。

示例用法:
(xdrx-math-tripleproduct '(1 0 0) '(0 1 0) '(0 0 1))
返回: 1.0

(xdrx-math-tripleproduct '(1 2 3) '(4 5 6) '(7 8 9))
返回: 0.0

------------------------------------------------------------
97
函数名称: xdrx-math-trunc

描述:
该函数用于对给定的浮点数进行截断处理。可选第二个参数指定截断到小数点后的位数,范围为 0 到 16,超出将被限制在该范围内。

调用格式:
(xdrx-math-trunc <number> )

参数说明:

* <number>: <必须> 要进行截断处理的浮点数。
* : [可选] 要保留的小数位数,默认为 0,范围为 0 到 16。

返回值:

* 返回截断后的小数,保留指定精度。

示例用法:
(xdrx-math-trunc 3.14159)
返回: 3.0

(xdrx-math-trunc 3.14159 2)
返回: 3.14

------------------------------------------------------------
98
函数名称: xdrx-math-unitize

描述:
该函数用于对二维或三维向量进行单位化处理。单位化是将向量的长度变为1,但保持其方向不变。如果输入向量长度为零,则返回 nil。

调用格式:
(xdrx-math-unitize <point>)

参数说明:

* <point>: <必须> 输入的二维或三维向量坐标点(列表形式)。

返回值:

* 如果单位化成功,返回单位向量(列表);如果向量为零长度,则返回 nil。

示例用法:
(xdrx-math-unitize '(3.0 4.0))
返回: (0.6 0.8)

(xdrx-math-unitize '(0.0 0.0 0.0))
返回: nil

------------------------------------------------------------
99
函数名称: xdrx-math-unitp

描述:
该函数用于判断一个二维或三维向量是否为单位向量(长度是否等于1)。允许在一个很小的容差范围内进行判断。

调用格式:
(xdrx-math-unitp <point>)

参数说明:

* <point>: <必须> 输入的二维或三维向量坐标点(列表形式)。

返回值:

* 如果该向量是单位向量,则返回 T;否则返回 nil。

示例用法:
(xdrx-math-unitp '(1.0 0.0 0.0))
返回: T

(xdrx-math-unitp '(3.0 4.0))
返回: nil

------------------------------------------------------------
100
函数名称: xdrx-math-vector

描述:
该函数用于计算两个二维或三维点之间的向量(即从第二个点指向第一个点的向量)。返回值为该向量的坐标差值。

调用格式:
(xdrx-math-vector <pt1> <pt2>)

参数说明:

* `<pt1>`: <必须> 第一个点(目标点)。
* `<pt2>`: <必须> 第二个点(起始点)。

返回值:

* 返回一个列表,表示从 pt2 指向 pt1 的向量。如果输入为二维点,则返回 (x y);如果为三维点,则返回 (x y z)。

示例用法:
(xdrx-math-vector '(5 5 0) '(2 1 0))
返回: (3 4 0)

(xdrx-math-vector '(3 3) '(1 2))
返回: (2 1)

------------------------------------------------------------
101
函数名称: xdrx-math-wedgeproduct

描述:
该函数用于计算两个二维向量的楔积(wedge product),也称为外积的标量形式。结果等同于二维向量的叉积,用于判断两个向量之间的方向关系(例如顺时针或逆时针)。

调用格式:
(xdrx-math-wedgeproduct <vec1> <vec2>)

参数说明:

* `<vec1>`: <必须> 第一个二维点(或向量)。
* `<vec2>`: <必须> 第二个二维点(或向量)。

返回值:

* 返回一个实数,表示两个二维向量的楔积:x1*y2 - y1*x2。
* 如果传入三维点,函数将报错。

示例用法:
(xdrx-math-wedgeproduct '(1 0) '(0 1))
返回: 1.0

(xdrx-math-wedgeproduct '(2 3) '(4 5))
返回: -2.0

------------------------------------------------------------
102
函数名称: xdrx-math-zerop

描述:
该函数用于判断一个二维或三维点是否是零点(即所有坐标均为0)。如果点是零点,则返回 `T`,否则返回 `Nil`。

调用格式:
(xdrx-math-zerop <point>)

参数说明:

* <point>: <必须> 要检查的二维或三维点。

返回值:

* 如果点的所有坐标为零,则返回 `T`。
* 如果点的任何坐标不为零,则返回 `Nil`。

示例用法:
(xdrx-math-zerop '(0 0))
返回: T

(xdrx-math-zerop '(0 0 0))
返回: T

(xdrx-math-zerop '(1 2))
返回: Nil

------------------------------------------------------------


页: [1]
查看完整版本: XDrxAPI 102 个数学函数帮助手册