Share |
Share

TOP

TOP

本帖最后由 was_denn_los? 于 2012-5-28 02:00 编辑

回复 12# jiejiedog
大侠既然看透了能支一下招吗? 诚心请教。

TOP

本帖最后由 sagood 于 2012-5-28 02:09 编辑
回复  jiejiedog
大侠既然看透了能支一下招吗? 诚心请教。
was_denn_los? 发表于 2012-5-28 01:54



    可以把问题简化成确定一个点是否在三角形内。
    点在内的话,那么一定在各个边的左边(逆时针方向看的话)。
    而判断点是否则一条射线的左边,可以通过向量叉积的正负来判断。。

                                 A
                                 D
                            B        C

      那么 P(A,B,D) >= 0 && P(B,C,D)  >=0 && P(C, A, D) >=0
      P(m, n, p) = (n.x - m.x) * (p.y - m.y) - (p.x - m.x) * (n.y - m.y)

TOP

可以把问题简化成确定一个点是否在三角形内。
    点在内的话,那么一定在各个边的左边(逆时针 ...
sagood 发表于 2012-5-28 02:04

又一个大侠出现
老实讲,我发此贴就是期待这样的答案(请上面提供过帮助的同学不要见怪,实在没有冒犯的意思,只是sagood的思路是在让人眼前一亮,大家一起学习学习哦
再次感谢提供这么好的思路,我再研究一下,希望大侠能继续提供意见帮助!

TOP

直接编个程序 判断落点位于2号三角形三条边的哪一侧 就可以判断出位于那个区了吧

TOP

回复 16# boom
听上去就是这样哦,可惜本人编程功底浅,不知道如何下手,得14楼指点才算开窍
如果大侠能详细指点不胜感激!

TOP

本帖最后由 was_denn_los? 于 2012-5-28 11:09 编辑
直接编个程序 判断落点位于2号三角形三条边的哪一侧 就可以判断出位于那个区了吧
boom 发表于 2012-5-28 08:45
研究了一下,这方法应该是最简单快捷的,谢谢了
只要编几行程序,分别判断点在线段AB,BC,CA的左侧还是右侧就好
再次感谢楼上各位提供不同的思路,谢谢各位帮忙 3eck1.png

TOP

可以把问题换算到baryzentrische Koordinaten后再判断。 应该在三角坐标系中会简单不少

TOP

本来是想说你可以用三个角都是钝角来解这个问题,但是你极坐标建在那边。。。。。。
There are still a few men who love desperately. J.D.Salinger

TOP