在封闭的多边形中,需要判断一个点在不在图形中

先在点处画一条竖直的线穿过图形

这时候记下A上下两边焦点的个数分别为1,为单数

但是B上下两边焦点的个数分别为0和2,为双数

那么找一个有凹面的多边形呢

发现也一样

那么就用这个方法来实现,点是否在封闭图形中的判定(cocos2d实现方式)

bool PointInRegion(cocos2d::CCPoint pt,vector<cocos2d>::plist)
{int Cross=0;//依次判定每一条边的情况for(int i=0;i<plist.size(),i++){cocos2d:CCPoint p1;cocos2d:CCPoint p2;p1=plist[i];p2=plist[(i+1)%plist.size()];//看点的x坐标是不是在两点的x坐标之中if(pt.x=p2.x)contine;if(pt.x<min(p1.x,p2.x))contine;if(pt.x>min(p1.x,p2.x))contine;//一条垂直线穿过图形,看交点的y坐标 double y = (double)(pt.x - p1.x) * (double)(p2.y - p1.y) / (double)(p2.x - p1.x) + p1.y; //统计在一边的交点的数量if(y>pt.y)nCross++;                            }//当一边的数量为偶数时候点在图形外if(nCross%2==0)return false;//当一边的数量为奇数时候点在图形内elsereturn true;}

原理图如下:

计算机图形学:传统函数方法判定点在不规则封闭区域内的判定方法相关推荐

  1. 计算机图形学-走样与反走样

    本专栏内容整理了GAMES101的计算机图形学课程的主要内容,作为我学习计算机图形学的一份复习备份或叫做笔记.内容中如有错误,或有其他建议,欢迎大家指出. 附上GAMES101计算机图形学课程:GAM ...

  2. 深圳大学计算机图形学实验4.1,深圳大学计算机图形学大作业实验报告.doc

    深圳大学计算机图形学大作业实验报告 深 圳 大 学 实 验 报 告 实验课程名称: 计算机图形学 实验项目名称: 计算机期末综合大作业 学院: 计算机与软件 专业: 计算机科学与技术 报告人: 班级: ...

  3. vtk教程第七章 高级计算机图形学

    第三章介绍了计算机图形学的基本概念.那一章的主要主题是如何使用表面原语(如点.线和多边形)表示和渲染几何.在本章中,我们主要关注体积图形.与表面图形相比,体图形在呈现非均匀材料方面具有更大的表达范围, ...

  4. 【计算机图形学课程】一.MFC基本绘图函数使用方法

    这是最近我<计算机图形学>课程实践编程课介绍的相关知识,主要是想通过MFC C++绘图,让学生体会下图形学相关的编程及简单的图形绘制,同时非常佩服学生的想象力,他们做得真的不错.希望这篇基 ...

  5. 计算机图形 简单测试法,数字测图原理及方法计算机图形学.ppt

    数字测图原理及方法计算机图形学 数字测图原理及方法 第九章 计算机地图绘图基础 9.1 概述 9.1 概述 9.1 概述 9.1 概述 9.1 概述 9.1 概述 9.1 概述 9.1 概述 9.1 ...

  6. 计算机图形学GAMES-Lecture10-几何1(基本表示方法)

    目录 纹理的应用 环境光照 凹凸贴图/法线贴图 位移贴图 环境光遮蔽 几何图形的介绍 几何的一些例子 隐式几何 显式几何 计算机图形学里更多隐式表达方法 代数表示法(Algebraic Surface ...

  7. 计算机图形学bazzer茶壶制作_书籍推荐:艺术化绘制的图形学原理与方法

    这本书介绍了如何用计算机创造出各种艺术化,风格化的效果.是一本很好的全面的对各个好玩的艺术化方法的概览,读者可以任选其中几个确认过眼神的,再去网上搜索具体的算法实现.本文章将介绍书里一些好玩的东西. ...

  8. 计算机图案填充的两种方法,计算机图形学课件 第9讲 区域填充和字符处理.ppt...

    计算机图形学课件 第9讲 区域填充和字符处理 信息科学与工程学院 1999年7月 5.4.1 多边形的扫描转换 多边形的两种表示方法: 顶点表示:用多边形的顶点序列来刻划多边形.直观.几何意义强.占内 ...

  9. 计算机图形学【GAMES-101】14、动画(物理模拟、质点弹簧系统、粒子系统、运动学、动作捕捉、欧拉方法)

    快速跳转: 1.矩阵变换原理Transform(旋转.位移.缩放.正交投影.透视投影) 2.光栅化(反走样.傅里叶变换.卷积) 3.着色计算(深度缓存.着色模型.着色频率) 4.纹理映射(重心坐标插值 ...

最新文章

  1. Java IO 体系结构
  2. Android应用清单文件:AndroidManifest.xml
  3. C++ Primer 第十六章 模板与范型编程
  4. 在清华听演讲系列音频下载地址收集
  5. Android Studio Problems
  6. 【2018开年知识盛会】15位大咖直播分享,全方位解析NoSQL数据库
  7. 判断闰年(信息学奥赛一本通-T1055)
  8. 职业发展加速器,埃森哲智能云服务创新中心热招云人才
  9. 华为交换机链路聚合使用ENSP模拟器进行实验
  10. eclipse工具性能优化方法
  11. MSM8953修改开机动画
  12. muduo学习笔记:base部分之高性能日志库-Logger
  13. 【第二届集成电路EDA备赛】一、Icarus Verilog(iverilog)快速上手使用(基于windows)
  14. 电脑显示网络2连接服务器失败,崩坏学园2连接服务器失败 连接不上网络怎么办...
  15. Java中如何给map数组制空,java.util.HashMap可以存储null键和null值。( )
  16. 网卡mac地址的设置
  17. 电视服务器媒体流中断是什么意思,视频流媒体服务器稳定吗?出现播放中断问题怎么办?...
  18. KVC与KVO的不同
  19. python 全栈开发之路 day1
  20. Cesium 加载非ArcgisServer发布的Arcgis切片

热门文章

  1. Spring Cloud Nacos笔记
  2. 教程:腾讯云使用WordPress从零开始建站-黑科鸡Blog(五)
  3. java SNS网络系统_JEESNS首页、文档和下载 - Java 开源 SNS 社区系统 - OSCHINA - 中文开源技术交流社区...
  4. WIFI万能钥匙v4.3.10显密精简版 无需root 安卓10可用
  5. 关联分析Apriori算法和FP-growth算法初探
  6. 关于人工智能(一) 诞生与发展
  7. Excel操作 Microsoft.Office.Interop.Excel.dll的使用
  8. puppeteer 鼠标定位滑块_puppeteer的使用
  9. 地图坐标拾取/查询经纬度
  10. win7删除计算机 网络连接,win7系统怎么删除多余的本地连接【图文】