乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 81|回复: 2

[编程交流] 将1个值与多个va进行比较

[复制链接]

218

主题

699

帖子

483

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1090
发表于 2022-7-6 06:21:25 | 显示全部楼层 |阅读模式
你好
 
我想创建一个布尔函数,告诉我是一对给定的顶点形成一条正交线。
 
正确的语法是什么?
 
这是我的出发点:
 
 
  1. (defun isOrtho(p1 p2)
  2.      ((if (= (angle p1 p2) (nth 0 ORTHOANG) (nth 1 ORTHOANG) (nth 2 ORTHOANG) (nth 3 ORTHOANG))
  3. )

 
谢谢
回复

使用道具 举报

0

主题

375

帖子

385

银币

限制会员

铜币
-7
发表于 2022-7-6 07:03:42 | 显示全部楼层
也许是这个
  1. (defun isOrtho (p1 p2)
  2. (and
  3.    (vl-position (angle p1 p2) ORTHOANG)
  4.    )
  5. )
或此,带有模糊因子
  1. (defun isOrtho (p1 p2)
  2. (vl-some '(lambda (o) (equal (angle p1 p2) o 1e-) ORTHOANG)
  3. )
或这个,如果正交=(0 pi/2 pi 3pi/2)
  1. (defun isOrtho (p1 p2)
  2. (equal 0.0 (rem (angle p1 p2) (/ pi 2)) 1e-
  3. )
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 07:38:05 | 显示全部楼层
 
由于您要取模,因此需要:
  1. (defun isOrtho ( p1 p2 / r )
  2.    (or (equal 0.0 (setq r (rem (angle p1 p2) (/ pi 2.0))) 1e-
  3.        (equal (/ pi 2.0) r 1e-
  4.    )
  5. )

 
说明:
  1. _$ (isortho '(0.0 0.0) '(1.0 1e-9))
  2. T
  3. _$ (isortho '(0.0 0.0) '(1.0 -1e-9))
  4. T
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-8-16 03:23 , Processed in 3.565319 second(s), 58 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表