开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 239|回复: 11
收起左侧

[已解决] 去掉相交点以外的点

 关闭 [复制链接]
结帖率:96% (45/47)
发表于 2024-11-8 06:47:21 | 显示全部楼层 |阅读模式   河南省南阳市
66精币
我想画个圈
在画板上用鼠标画一个圆,画的时候记录了鼠标移动的坐标点,用画直线画的,我想去掉头尾相连闭合点以外的坐标点,
就是图片上红框里的两个尾巴线,实际上数组里记录都是不连续的坐标点,所以用循环对比不出来相交点,能教我写一个去掉相交点以外的坐标点的例子不,

如果没有画完圆有缺口的自动插入坐标点到数组里首尾相连起来,这算是两个问题,这个我自己想办法弄,先谢谢大哥了,

.变量循环首 (1, 取数组成员数 (数组), 1, a)
    .变量循环首 (取数组成员数 (数组), a + 1, -1, b)

1.png


最佳答案

查看完整内容

给坐标XY加个线条粗细的偏移量,两个坐标对比在这个正负偏移量之间即可视为相交,然后删除这两个坐标之外的

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:96% (45/47)

签到天数: 22 天

 楼主| 发表于 2024-11-8 14:42:48 | 显示全部楼层   河南省南阳市
666.gif

搞定.............
回复

使用道具 举报

签到天数: 20 天

发表于 2024-11-8 06:47:22 | 显示全部楼层   河北省张家口市
给坐标XY加个线条粗细的偏移量,两个坐标对比在这个正负偏移量之间即可视为相交,然后删除这两个坐标之外的

评分

参与人数 1荣誉 +1 收起 理由
笨潴 + 1 热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!

查看全部评分

回复

使用道具 举报

结帖率:77% (24/31)

签到天数: 15 天

发表于 2024-11-8 08:52:42 | 显示全部楼层   上海市上海市
虽然我不会 但是感觉比对不出来是因为相交的位置 像素点并没有重合(你可以画个大圆圈   放大后看看像素点   判断可以上下左右增加几个像素点的误差)        去网上找一下算法公式 应该可以算出来
回复

使用道具 举报

结帖率:96% (45/47)

签到天数: 22 天

 楼主| 发表于 2024-11-8 08:54:49 | 显示全部楼层   河南省南阳市
是啊没重合的点,要不就好弄了,循环一下删掉头尾坐标点就行了就是因为不是连续的坐标,没法对比
回复

使用道具 举报

结帖率:96% (45/47)

签到天数: 22 天

 楼主| 发表于 2024-11-8 08:57:04 | 显示全部楼层   河南省南阳市
dwcq 发表于 2024-11-8 08:54
是啊没重合的点,要不就好弄了,循环一下删掉头尾坐标点就行了就是因为不是连续的坐标,没法对比 ...

你看到的图片是用画直线 画出来的,实际坐标都是虚线一样的坐标,画几次 偶尔能重合一下坐标点,我又试过的,哦二重合了,点和点之间的间隙还是挺大的
回复

使用道具 举报

结帖率:100% (1/1)

签到天数: 15 天

发表于 2024-11-8 09:06:00 | 显示全部楼层   广东省广州市
你是要画一个闭合曲线吧,1.记录坐标点,2.设定一个距离A自动闭合,3.取当前点的一个矩形范围X-A,Y-A,X+A,Y+A,C,判断记录的坐标点(不要判断最后几个坐标点)是否在矩形内 ,是就闭合停止画。没做过,不知是否可用

补充内容 (2024-11-8 09:07):
.版本 2

.DLL命令 _矩形_点是否在矩形内, 逻辑型, "user32.dll", "PtInRect", ,  判断某点是否在指定矩形区域内
    .参数 RECT, 矩形_, ,
    .参数 点X, 整数型, ,
    .参数 点Y, 整数型, ,
回复

使用道具 举报

结帖率:96% (45/47)

签到天数: 22 天

 楼主| 发表于 2024-11-8 09:21:41 | 显示全部楼层   河南省南阳市
houtian 发表于 2024-11-8 09:06
给坐标XY加个线条粗细的偏移量,两个坐标对比在这个正负偏移量之间即可视为相交,然后删除这两个坐标之外的 ...

我试试 谢谢大哥
回复

使用道具 举报

签到天数: 20 天

发表于 2024-11-8 09:26:52 | 显示全部楼层   河北省张家口市
dwcq 发表于 2024-11-8 09:21
我试试 谢谢大哥

大概就是这个意思,比较粗糙

动画4.gif

判断交点.e (4.53 KB, 下载次数: 5)
回复

使用道具 举报

结帖率:96% (45/47)

签到天数: 22 天

 楼主| 发表于 2024-11-8 09:44:44 | 显示全部楼层   河南省南阳市
houtian 发表于 2024-11-8 09:26
大概就是这个意思,比较粗糙

.版本 2
.支持库 spec


偏移量 = 10
.变量循环首 (1, 取数组成员数 (数组), 1, a)
    .变量循环首 (取数组成员数 (数组), a + 1, -1, b)

        .如果 (数组 [a].x - 偏移量 ≤ 数组 .x 且 数组 .x ≤ 数组 [a].x + 偏移量)
            .如果 (数组 [a].y - 偏移量 ≤ 数组 .y 且 数组 .y ≤ 数组 [a].y + 偏移量)
                前边 = a
                后边 = b
                调试输出 (“找到”, 前边, 后边, a, b)
                跳出循环 ()

            .否则

            .如果结束

        .否则

        .如果结束

    .变量循环尾 ()
    .如果 (BB ≠ -1)
        跳出循环 ()
    .否则

    .如果结束

.变量循环尾 ()

.计次循环首 (前边, )
    删除成员 (数组, 1, 1)
.计次循环尾 ()

.计次循环首 (取数组成员数 (数组) - 后边, )
    删除成员 (数组, 取数组成员数 (数组), 1)
.计次循环尾 ()

画板1.清除 (, , , )
.计次循环首 (取数组成员数 (数组), a)
    画板1.画点 (数组 [a].x, 数组 [a].y, 0)
.计次循环尾 ()
回复

使用道具 举报

结帖率:96% (45/47)

签到天数: 22 天

 楼主| 发表于 2024-11-8 09:48:24 | 显示全部楼层   河南省南阳市
houtian 发表于 2024-11-8 09:26
大概就是这个意思,比较粗糙

我下载了你的源码,我花了十次只有一两次才出现绿色
回复

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表