求助一个数学问题

本帖最后由 was_denn_los? 于 2012-5-28 11:19 编辑

一个边长为2/3的等边三角形,由四个边长均为1/3的等边三角形组成(编号1,2,3,4)。一任意vector,其模长和角度a已知(见附图),有什么简单的方法(或适合编程的方法,因最终要编程实现)确定vertor v 的终点(箭头处)位于哪个小等边三角形(1,2,3,4)内呢?
****************************************************
问题应该算是解决了,特别感谢14楼和16楼提供的思路,14楼提到的方法很不错,我还查了一下,还有面积法,重心法什么的(我这编程底子浅的就想学习一下编程功底深的都用什么方法去解决这类问题)。16楼提供的思路对本问题应该是最有效的。
我还在研究能不能用14楼提到的叉积法去实现16提到的判断点在线段哪边。
再次谢谢各位参与讨论,提供帮助,提供新思路!
3eck1.png
Share |
Share

回复 3# 爱满人间
谢谢你的回复。
这种方法我考虑过,也考虑过通过v*cos(a)和v*sin(a)来确定v的位置,但老感觉有点复杂(我编程就半桶水:) ,而且这部分也只是我程序的一小部分,所以想尽可能简单点)

TOP

回复 4# 朴实无华
谢谢回复,这跟我通过v*cos(a)和v*sin(a)来确定v的位置想法基本一致,步骤1可省略,2比较容易,就是觉得2,3有点麻烦(可能受限于本人拙 劣的编程水平吧

TOP

回复 7# Darkpriest
这个听上去好哦!!好像比较容易实现!我再想一下,先谢谢了!!!

TOP

回复 10# 朴实无华
是的谢谢,但7楼的方法看上去好像也不错,我在想想看,谢谢哦

TOP

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

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

TOP

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

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

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

是不是也可以这么算,
1,计算点“V”到六个顶点的距离
2,对大等边三角形的三个顶点,取离“V”最近的顶 ...
newbear 发表于 2012-5-29 16:03

谢谢你提供的思路。
我查了一下,其实这问题在计算机图形处理技术里是很普通的问题,只是本人编程底子太薄,刚开始不明就里罢了。
经过研究我还是比较偏向通过叉积判断点在线段左侧或右侧的方法,这样最多只要比较3次就可以确定v落在哪个小等边三角形里了(如果再加上角度判断则最多只要2次就行了)
谢谢

TOP