ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

碰撞检测自定义草绘的形状,表示为点列表

2019-12-10 01:05:07  阅读:273  来源: 互联网

标签:shapes plane collision-detection c net


我有一组由用户得出的观点.他们将围绕某些对象进行绘制.

我需要以某种方式将这组点变成一个形状,这样我才能找到检测碰撞的区域.

图片将阐明:

Set of points represented as shape http://www.imagechicken.com/uploads/1277188630025178800.jpg
.

到目前为止,我最好的想法是遍历每个像素,确定形状是“内部”还是“外部”,但这太慢了,我什至不知道如何确定“内部” /“ “外”位…

有什么提示吗?我正在使用.NET(C#和XNA)来帮助您!

解决方法:

您可以将形状视为多个形状的并集,每个形状都是一个简单的闭合多边形.
按照以下方式检查每个对象是否在任何多边形内:
所有点均由线连接-每条线都有一个定义它的方程式.
对于每个对象-为穿过该对象的直线建立方程式.
现在-对于每个对象方程式,您需要检查多少条线(点之间的线)与该对象方程式相交-但仅计算两个点之间的交点(而不是在线外的其余部分)两个点)和仅位于对象一侧的交叉点(拾取一侧-无关紧要).
如果计数是偶数-对象在形状外部-否则在内部.

标签:shapes,plane,collision-detection,c,net
来源: https://codeday.me/bug/20191210/2098234.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有