社区
图形处理/算法
帖子详情
怎么计算出一点是非在一个三角形内,上和外
勇敢的大树
2004-08-03 08:22:25
知道三角形的三顶点和这个点的x,y坐标,用什么方法计算,要求高效!
大家给几个思路吧
...全文
157
12
打赏
收藏
怎么计算出一点是非在一个三角形内,上和外
知道三角形的三顶点和这个点的x,y坐标,用什么方法计算,要求高效! 大家给几个思路吧
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
alphapaopao
2004-08-05
打赏
举报
回复
又找到一篇 http://bbs.chinagamedev.net/archive/index.php/t-5556.html
可能是比较优良的算法。
勇敢的大树
2004-08-05
打赏
举报
回复
能不能不用角度去算,效率太低
johnshao
2004-08-04
打赏
举报
回复
将三角形作为多边形来处理
alphapaopao
2004-08-04
打赏
举报
回复
楼上的那个速度太慢。
FAQ里面的还有 NEHE 里面的算法比较快。
LocalVar
2004-08-04
打赏
举报
回复
算法如下,自己优化
增加一个明显位于多边形外的点B,假设你的点是A,则做一条连接AB的线段,计算这条线段与多边形的几条边相交,奇数则点位于多边形内或多边形上(你应该知道如何判断内和上吧),偶数位于多边形外
DentistryDoctor
2004-08-04
打赏
举报
回复
判断是否在内用CRgn是否在上用数学的方法了,通过三角形三条边的点斜式方程判断点是否在直线上,上述两种情况能判断了,是否在三角形外了也就解决了。
wongflying
2004-08-04
打赏
举报
回复
该点p依次和三角形的三顶点p1、p2、p3求夹角,注意必须按照一定的顺序(顺时针或者逆时针),求出来最大的夹角大于180,则在外,等于180,在边上,小于180,则在里面。
syy64
2004-08-04
打赏
举报
回复
http://community.csdn.net/Expert/topic/3208/3208637.xml?temp=.1932947
simouse
2004-08-04
打赏
举报
回复
NEHE是什么
nlstone
2004-08-03
打赏
举报
回复
什么啊,这好像是我当年第一次复试时做过的上机题:(
对上机实现而言,用CRgn判最简单
lixiaosan
2004-08-03
打赏
举报
回复
http://bbs.chinagamedev.net/showthread.php?s=a434cbbe761f154b69b42a60767041aa&t=6783
alphapaopao
2004-08-03
打赏
举报
回复
http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=32704
要学会查资料
黄冈中学高2数学教案
黄冈中学高2数学教案直线的倾斜角和斜率及直线的方程 一、一周知识概述 本周是解析几何的开始,介绍了直线的斜率及倾斜角的定义,给
出
直线斜率的
计算
公式.又重点学习了直线方程的点斜式、斜截式、两点式、截距式、一般式五种形式.通过本周的学习,要了解在平面解析几何中如何表示直线,以及直线的性质,了解解析几何的基本思想,了解用坐标法研究几何问题的方法.重点培养一种数形结合的能力,代数式与图形的相互转化,理论与实践相互统一,从感性认识提高到理性认识. 二、重难点知识归纳总结 直线的倾斜角和斜率的概念是本节的重点,直线方程的点斜式是求直线方程的基本形式,是求直线方程的重点. 斜率概念的学习和过两点的直线的斜率公式的建立,以及依据所给条件的异同与特点,合理选取直线方程的不同形式是本节的难点. (1)、直线的方程与方程的直线 以
一个
方程的解为坐标的点都是某条直线上的点,且这条直线上的点的坐标都是这个方程的解.这时,这个方程叫这条直线的方程,这条直线叫做这个方程的直线. 在平面解析几何里研究直线时,就是利用直线与方程这种关系建立直线的方程,并通过方程来研究直线的有关问题. (2)、直线的倾斜角与斜率 在平面直角坐标系中,对于一条与x轴相交的直线,如果把x轴绕着交点按逆时针方向旋转到和直线重合时所转的最小正角为 ,则 就叫做直线的倾斜角;当直线和x轴平行或重合时,规定此时直线的倾斜角为0°,因此,倾斜角的范围是0°≤ <180° 倾斜角是
一个
几何概念,直观的描述了直线对x轴正方向的倾斜程度. 倾斜角不是90°的直线,它的倾斜角的正切叫做这条直线的斜率.直线的斜率常用k表示,即k=tan ,直线的倾斜角为90°时,没有斜率. (3)、直线的斜率公式 在平面坐标系内,两点P1(x1,y1),P2(x2,y2)决定一条直线,当直线P1P2的倾斜角不为90°时,它的斜率公式为: . 斜率公式与两点的顺序无关, . 若y2=y1, x2≠x1,则直线P1P2与x轴平行或重合,k=0;若y2≠y1,x2=x1,则直线的倾斜角为90°,斜率不存在. (4)、直线方程的点斜式 若直线l经过点P1(x1,y1),且斜率为k,则l的方程为:y-y1=k(x-x1). 若l过P0(x0,y0)且与x轴平行或重合,则k=0,由点斜式有y=y0. 若l过P0(x0,y0)且与x轴垂直,则l的倾斜角为90°,没有斜率,此时直线方程不能用点斜式表示,应为x=x0. (5)、直线方程的斜截式 若已知直线l的斜率为k,与y轴的交点为P(0,b), 代入点斜式有:y-b=k(x-0),即y=kx+b.b是直线l在y轴上的截距,截距可以是任一实数,而距离只能
是非
负数. 求截距的方法:在直线l的方程中,令x=0,解
出
y值,可得直线l在y轴上的截距;令y=0,解
出
x,即得直线在x轴上的截距. (6)、直线方程的两点式 已知直线l经过P1(x1,y1),P2(x2,y2),(x1≠x2),则直线l 的方程为: . 当直线l没有斜率(x1=x2)或斜率为0(y1=y2)时不能用两点式
计算
. (7)、直线方程的截距式 已知直线l与x轴交点为(a,o),与y轴交点为(0,b),其中ab≠0,则直线l的方程为 . 已知l在坐标轴上的截距且不为零时,用截距式表示方程可以快速准确的画
出
直线来. (8)、直线方程的一般式 直线方程的四种形式不能表示所有的直线,都有特殊情形需要单独讨论,可以用二元一次方程统一起来. ①直线的方程都可以写成关于x,y的二元一次方程. 证明:在平面直角坐标系中,每一条直线都有唯一的倾斜角 与之对应. i)当 ≠90°时,方程可以写成y=kx+b的形式,即:kx-y+b=0; ii) 当 =90°时,它的方程可以写成x=x1的形式,即:x+0•y-x1=0. ∴ 直线的方程可以写成关于x,y的二元一次方程的形式. ②任何关于x,y的二元一次方程都表示一条直线. 证明:关于x,y的二元一次方程的一般形式是 Ax+By+C=0 (其中A,B不同时为0). i) 当B≠0时,可化为 ,它表示斜率为 ,在y轴上的截距为 的一条直线. ii)当B=0时,A≠0,有 ,它可以表示一条与y轴平行或重合的直线. ∴ 关于x,y的二元一次方程表示一条直线. 因此,我们把方程Ax+By+C=0(A,B不同时为0)叫做直线方程的一般形式. 直线方程的其它形式都可以化为一般式;在满足某些条件时,直线方程的一般式也可以化为其它形式. 2、本周所学内容的难点. 直线的方程和方程的直线的理解,斜率公式的建立,直线的方程的几种形式以及它们之间的相互转化,每一种方程所对应的直线的特征及要求.由给定直线上的点或斜率写
出
直线的方程. 方程名称 方程形式 方程的局限性 点斜式 y-y0=k(x-x0) 不包括与x轴垂直的直线 斜截式 y=kx+b 不包括与x轴垂直的直线 两点式 不包括与坐标轴垂直的直线 截距式 (a,b≠0) 不包括与坐标轴垂直及过原点的直线 一般式 Ax+By+C=0 (A,B不同时为零) 3、直线方程形式的运用技巧 (1)一般地,已知
一点
通常选择点斜式;已知斜率通常选择斜截式或点斜式;已知截距或两点通常选择截距式或两点式. 另
外
,从所求的结论来看,若求直线与坐标轴所围成的
三角形
面积或周长,则应选用截距式. (2)待定系数法是求直线方程最基本、最常用的方法,但要注意选择形式,一般地,已知一待定斜率k,但应注意讨论斜率k不存在的情形,如果已知斜率k,一般选择斜截式,待定截距b.如果已知直线与坐标轴围成
三角形
问题题就选择截距式,待定横截距和纵截距.一般说来,几个系数待定就应列
出
几个方程. 有的直线方程可以同时选用几种形式,但有的形式不同,导致的运算,繁简程度就不同.
LINGO软件的学习
LINGO是用来求解线性和非线性优化问题的简易工具。LINGO内置了一种建立最优化模型的语言,可以简便地表达大规模问题,利用LINGO高效的求解器可快速求解并分析结果。 §1 LINGO快速入门 当你在windows下开始运行LINGO系统时,会得到类似下面的
一个
窗口:
外
层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主窗口之下。在主窗口内的标题为LINGO Model – LINGO1的窗口是LINGO的默认模型窗口,建立的模型都都要在该窗口内编码实现。下面举两个例子。 例1.1 如何在LINGO中求解如下的LP问题: 在模型窗口中输入如下代码: min=2*x1+3*x2; x1+x2>=350; x1>=100; 2*x1+x2<=600; 然后点击工具条上的按钮 即可。 例1.2 使用LINGO软件
计算
6个发点8个收点的最小费用运输问题。产销单位运价如下表。 单 位 销地 运 价 产地 B1 B2 B3 B4 B5 B6 B7 B8 产量 A1 6 2 6 7 4 2 5 9 60 A2 4 9 5 3 8 5 8 2 55 A3 5 2 1 9 7 4 3 3 51 A4 7 6 7 3 9 2 7 1 43 A5 2 3 9 5 7 2 6 5 41 A6 5 5 2 2 8 1 4 3 52 销量 35 37 22 32 41 32 43 38 使用LINGO软件,编制程序如下: model: !6发点8收点运输问题; sets: warehouses/wh1..wh6/: capacity; vendors/v1..v8/: demand; links(warehouses,vendors): cost, volume; endsets !目标函数; min=@sum(links: cost*volume); !需求约束; @for(vendors(J): @sum(warehouses(I): volume(I,J))=demand(J)); !产量约束; @for(warehouses(I): @sum(vendors(J): volume(I,J))<=capacity(I)); !这里是数据; data: capacity=60 55 51 43 41 52; demand=35 37 22 32 41 32 43 38; cost=6 2 6 7 4 2 9 5 4 9 5 3 8 5 8 2 5 2 1 9 7 4 3 3 7 6 7 3 9 2 7 1 2 3 9 5 7 2 6 5 5 5 2 2 8 1 4 3; enddata end 然后点击工具条上的按钮 即可。 为了能够使用LINGO的强大功能,接着第二节的学习吧。 §2 LINGO中的集 对实际问题建模的时候,总会遇到一群或多群相联系的对象,比如工厂、消费者群体、交通工具和雇工等等。LINGO允许把这些相联系的对象聚合成集(sets)。一旦把对象聚合成集,就可以利用集来最大限度的发挥LINGO建模语言的优势。 现在我们将深入介绍如何创建集,并用数据初始化集的属性。学完本节后,你对基于建模技术的集如何引入模型会有
一个
基本的理解。 2.1 为什么使用集 集是LINGO建模语言的基础,是程序设计最强有力的基本构件。借助于集,能够用
一个
单一的、长的、简明的复合公式表示一系列相似的约束,从而可以快速方便地表达规模较大的模型。 2.2 什么是集 集是一群相联系的对象,这些对象也称为集的成员。
一个
集可能是一系列产品、卡车或雇员。每个集成员可能有
一个
或多个与之有关联的特征,我们把这些特征称为属性。属性值可以预先给定,也可以是未知的,有待于LINGO求解。例如,产品集中的每个产品可以有
一个
价格属性;卡车集中的每辆卡车可以有
一个
牵引力属性;雇员集中的每位雇员可以有
一个
薪水属性,也可以有
一个
生日属性等等。 LINGO有两种类型的集:原始集(primitive set)和派生集(derived set)。
一个
原始集是由一些最基本的对象组成的。
一个
派生集是用
一个
或多个其它集来定义的,也就是说,它的成员来自于其它已存在的集。 2.3 模型的集部分 集部分是LINGO模型的
一个
可选部分。在LINGO模型中使用集之前,必须在集部分事先定义。集部分以关键字“sets:”开始,以“endsets”结束。
一个
模型可以没有集部分,或有
一个
简单的集部分,或有多个集部分。
一个
集部分可以放置于模型的任何地方,但是
一个
集及其属性
【奇境】
计算
机图形学底层原理-如何从C++独立编写
一个
openGL
课程解决的问题: 作为游戏行业或者图形学从业者,你是否面临以下问题: 到底openGL底层如何实现的? 到底矩阵操作变换是怎么做到的? 到底光栅化的算法以及原理是什么? 到底如何才能从3D世界投射到2D屏幕呢? 图形学有这么多的矩阵操作,到底如何推导如何应用呢? 学完这门课程,你应该就可以从底层了解
一个
初级的openGL图形接口如何实现,图形学最底层的封装到底面临哪些挑战;跟随我们一行一行写完代码,你就会得到
一个
迷你版本的openGL图形库,你可以深度体会图形从模型变换,观察矩阵变换,投影矩阵变换一直到光栅化纹理操作的全套模拟流程。 课程介绍: 本课程将带领学员不使用任何图形库,实现从0到1的图形学接口封装以及算法讲解,并且带领大家手敲代码,一行一行进行实现。 涵盖了(环境搭建,绘制点,Bresenham算法绘制完美直线,
三角形
拆分绘制算法,颜色插值算法,图片操作,图片二次插值放缩算法,纹理系统接口搭建及封装,矩阵操作理论以及实践,openGL类似接口封装,3D世界的图形学理论及接口封装等) 最终将带领大家通过C++实现
一个
3D世界的图形接口,方便所有人入门图形学,进行接下来的openGL接口以及GPU编程的学习 本课程为系列课程的第一步入门,且带领所有人进行实现,更加实用,可以让大家打牢图形学的基础知识及编程技能
杨辉
三角形
在我讲解杨辉
三角形
的时候,我们先来认识一下杨辉
三角形
图一1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 图二杨辉
三角形
是
一个
不能少于三行的数字群,我们来看图二来分析这个杨辉
三角形
会更好
一点
。从第二行(我们是从第0行来开始计数的)的第一列开始,(也就
是非
1的部分),每个数都是该数的左上角数与该数的正上面的的数之和。 我们进一步
在几何图形中均匀随机取点算法总结及Delaunay三角剖分算法介绍
在工作中遇到
一个
需求,需要在圆形 矩形,
三角形
内随机,尽量均匀取点作为位置信息,但是random得到的信息有时候不是很满意。 这里讨论一下 第一种错误思路: 根据圆的解析式 (假设圆心在原点)我们可以先随机生成[-R, R]范围内横坐标x,然后生成 范围内的随机数y,(x,y)就是需要的点。 我们写程序模拟了该过程,从下图可以看
出
,我们可以看到当x靠近圆的边缘使,y的范围减小,因此两边边缘...
图形处理/算法
19,468
社区成员
50,698
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章