求个JS算法
求知识,具体是这样的,有个倒三角形,这样的:▼,右上角,左上角,下面,这3个点,分别为:B,C,A如b=(0,0)c=(10,0)a=(5,5)坐标是假设,不必较真,谢谢...
求知识,具体是这样的,有个倒三角形,这样的:
▼,右上角,左上角,下面,这3个点,分别为:B,C,A
如b=(0,0)c=(10,0)a=(5,5)坐标是假设,不必较真,谢谢。
B C
▼
A
这样的3个点,3角关系,他们可以换位,从左到右旋转90度换位,或者从右到左旋转90度换位,变下图这种:
下面行的坐标就变:c=(0,0),A=(10,0) A=(0,0),b=(10,0)
C A (↗) A B (↖)
▼ ▼
B C
上面行的坐标为:B=(5,5) c=(5,5)
这样的3组坐标点,如何在程序中使用简短的代码,用算法来解决他向左,向右旋转,他们之间的坐标换位呢?
先谢谢各位! 展开
▼,右上角,左上角,下面,这3个点,分别为:B,C,A
如b=(0,0)c=(10,0)a=(5,5)坐标是假设,不必较真,谢谢。
B C
▼
A
这样的3个点,3角关系,他们可以换位,从左到右旋转90度换位,或者从右到左旋转90度换位,变下图这种:
下面行的坐标就变:c=(0,0),A=(10,0) A=(0,0),b=(10,0)
C A (↗) A B (↖)
▼ ▼
B C
上面行的坐标为:B=(5,5) c=(5,5)
这样的3组坐标点,如何在程序中使用简短的代码,用算法来解决他向左,向右旋转,他们之间的坐标换位呢?
先谢谢各位! 展开
1个回答
展开全部
把三个坐标点放到一个数组里:
var d = [[0,0],[10,0],[5,5]];
然后用个变量i表示A点在数组d中的初始序号:
var i = 0;
这样ABC三个点的坐标就是:
var a, b, c
a = d[i];
b = d[(i+1)%3];
c = d[(i+2)%3];
向右旋转时:
a = d[++i%3];
b = d[(i+1)%3];
c = d[(i+2)%3];
向左旋转时:
a = d[--i<0?2:i];
b = d[(i+1)%3];
c = d[(i+2)%3];
追问
最后一个a,需要%3,非常感谢
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询