QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4652|回复: 8
打印 上一主题 下一主题

判断一个点和一个三角形位置关系的原理是什么?

[复制链接]
字体大小: 正常 放大

19

主题

5

听众

104

积分

升级  2%

  • TA的每日心情
    开心
    2012-11-14 09:11
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    自我介绍
    学生
    跳转到指定楼层
    1#
    发表于 2012-8-14 16:01 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    x1=a(1,1);y1=a(1,2);
    x2=a(2,1);y2=a(2,2);
    x3=a(3,1);y3=a(3,2);
    x0=m(1);y0=m(2);
    if
    and(((m(1)-a(1,1))*(a(2,2))-(a(2,1)-a(1,1))*(m(2)-a(1,2)))*((m(1)-1(1,1))*(a(3,2)-a(1,2))-(a(3,1)-a(1,1))*(m(2)-a(1,2)))<0,(类似公式)<0)
    y=1;
    else if
    or((类似公式)==0,(类似公式)==0)
    y=0;
    else
    y=-1;
    end
    plot([a(:,1);a(1,1)],[a(:,2);a(1,2)],'r',m(1),m(2),'b*');

    这个m函数我不明白它的原理是什么,if 后边的and或者or,连在一起用还是第一次看到,也没有查到怎么使用。

    这道题计算的原理是什么?不是计算距离,用向量来看的话,前后两个标量都小于零则满足点在三角形内部,这个判断没有想明白,求助。


    最后一个问题 plot([a(:,1);a(1,1)],[a(:,2);a(1,2)])这是啥意思啊??求解释 他就是找出来三点画图呗,分号后边的a(1,1)难道是起始点坐标?默认变化为1?我只见过start:end:默认啊,这个没见过。
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    shaox 实名认证       

    16

    主题

    42

    听众

    1061

    积分

    升级  6.1%

  • TA的每日心情
    开心
    2013-9-15 16:21
  • 签到天数: 266 天

    [LV.8]以坛为家I

    群组数学建摸协会

    群组西安交大数学建模

    群组学术交流A

    群组数学建模认证项目实训

    回复

    使用道具 举报

    大笨象 实名认证       

    42

    主题

    11

    听众

    2119

    积分

    di_dar

  • TA的每日心情
    无聊
    2015-1-15 22:05
  • 签到天数: 79 天

    [LV.6]常住居民II

    自我介绍
    隐秘盛开

    优秀斑竹奖 新人进步奖 发帖功臣

    群组Matlab讨论组

    群组数学趣味、游戏、IQ等

    群组数学建模

    群组SIMULINK

    群组LINGO

    回复

    使用道具 举报

    19

    主题

    5

    听众

    104

    积分

    升级  2%

  • TA的每日心情
    开心
    2012-11-14 09:11
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    自我介绍
    学生
    shaox 发表于 2012-8-14 17:04
    这个程序有很多错误~~

    感谢您的回复
    我找到的错误是:and 和 or 的错误使用;但是计算的基本思路是对的,矢量叉乘来判断点和三角形的位置关系;我想请教下这里的plot的使用是不是也是不对的?我没看懂这里,plot([a(:,1) a(:,2)])即可。
    回复

    使用道具 举报

    26

    主题

    10

    听众

    562

    积分

    升级  87.33%

  • TA的每日心情
    开心
    2015-5-2 15:22
  • 签到天数: 174 天

    [LV.7]常住居民III

    自我介绍
    自信

    社区QQ达人

    群组学术交流B

    群组学术交流A

    回复

    使用道具 举报

    gaoxian 实名认证       

    2

    主题

    6

    听众

    1265

    积分

  • TA的每日心情
    难过
    2012-10-26 11:15
  • 签到天数: 58 天

    [LV.5]常住居民I

    新人进步奖

    群组Matlab讨论组

    群组建模军团

    群组数学建摸协会

    群组数模应用

    群组B题讨论群

    回复

    使用道具 举报

    gaoxian 实名认证       

    2

    主题

    6

    听众

    1265

    积分

  • TA的每日心情
    难过
    2012-10-26 11:15
  • 签到天数: 58 天

    [LV.5]常住居民I

    新人进步奖

    群组Matlab讨论组

    群组建模军团

    群组数学建摸协会

    群组数模应用

    群组B题讨论群

    爱的侍者 发表于 2012-8-14 18:10
    感谢您的回复
    我找到的错误是:and 和 or 的错误使用;但是计算的基本思路是对的,矢量叉乘来判断点和三 ...

    你这样去看plot这个语句,你分开看比如我现在取a=[30 19;18 16;10 6];那么[a(:,1);a(1,1)]=[30;18;10;30];
    [a(:,2);a(1,2)]=[19;16;6;19];也就是对应的三角形的三个顶点,其实你这样再去看plot就是这个意思plot(a,b,'r',c,d,'b*');所以这里plot([a(:,1);a(1,1)],[a(:,2);a(1,2)],'r')是为了画出三角形,plot(m(1),m(2),'b*')是标出点的位置。。。。。
    回复

    使用道具 举报

    19

    主题

    5

    听众

    104

    积分

    升级  2%

  • TA的每日心情
    开心
    2012-11-14 09:11
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    自我介绍
    学生
    gaoxian 发表于 2012-8-14 18:41
    你这样去看plot这个语句,你分开看比如我现在取a=[30 19;18 16;10 6];那么[a(:,1);a(1,1)]=[30;18;10;30] ...

    哦哦哦,学习了~!~gaoxian thankyou~!
    回复

    使用道具 举报

    gaoxian 实名认证       

    2

    主题

    6

    听众

    1265

    积分

  • TA的每日心情
    难过
    2012-10-26 11:15
  • 签到天数: 58 天

    [LV.5]常住居民I

    新人进步奖

    群组Matlab讨论组

    群组建模军团

    群组数学建摸协会

    群组数模应用

    群组B题讨论群

    爱的侍者 发表于 2012-8-14 19:02
    哦哦哦,学习了~!~gaoxian thankyou~!

    呵呵,互相学习!客气了~~~
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2025-5-29 00:18 , Processed in 1.245897 second(s), 95 queries .

    回顶部