Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 找到圆内的坐标以形成三角形_Algorithm_Pseudocode - Fatal编程技术网

Algorithm 找到圆内的坐标以形成三角形

Algorithm 找到圆内的坐标以形成三角形,algorithm,pseudocode,Algorithm,Pseudocode,我有一个给定的问题:我在圆圈外有一个点,橙色的点在2,3,根据一个数学公式,我找到了圆圈内最接近橙色点的坐标,这是蓝色的点 我现在怎么画一个等边三角形,蓝点是三角形顶点之一,每边的长度是0.02个单位?蓝色点的坐标为3.50502525253169417、1.4949747468305832,圆的半径为0.7 要生成所需的三角形,我需要另外两个顶点坐标?如何找到它们 有人能帮我写下这个问题的伪代码吗? 等边三角形的高度是其边长的3/2倍。对距离b-a进行规格化,以获得同一方向上的单位向量。将其添

我有一个给定的问题:我在圆圈外有一个点,橙色的点在2,3,根据一个数学公式,我找到了圆圈内最接近橙色点的坐标,这是蓝色的点

我现在怎么画一个等边三角形,蓝点是三角形顶点之一,每边的长度是0.02个单位?蓝色点的坐标为3.50502525253169417、1.4949747468305832,圆的半径为0.7

要生成所需的三角形,我需要另外两个顶点坐标?如何找到它们

有人能帮我写下这个问题的伪代码吗?
等边三角形的高度是其边长的3/2倍。对距离b-a进行规格化,以获得同一方向上的单位向量。将其添加到b将成为基础的中心。交换c的x和y并改变一个符号,得到一个垂直向量。加上和减去该向量将得到三角形的底面

从matplotlib导入pyplot作为plt 将numpy作为np导入 a=np.数组[2,3]橙色点 b=np.阵列[3.50502525253169417,1.4949747468305832]蓝点 侧面=0.2 高度=侧面*np.sqrt3/2 c=b-a/np.linalg.normb-a*高度 d=np.数组[c[1],-c[0]/height*side/2 e=b+c+d f=b+c-d plt.散射*b plt.散布*a plt.散射*b+c,α=0.4 plt.scatter*e plt.散射*f 三角形=np.数组[b,e,f,b] plt.plottriangle[:,0],triangle[:,1],color='gold' plt.filltriangle[:,0],triangle[:,1],color='gold',alpha=0.3 plt.gca.set_aspect'equal' 节目
我认为那些长度不起作用。如果底边为0.04,其他两条边为0.02,则三角形实际上只是一条直线。谢谢你的澄清,我现在编辑了这个问题。你能帮忙吗?给定一条边的长度和一个顶点,显然有无限多个可能的等边三角形。这意味着,如果您认为应该有一个正确的解决方案,您需要更多的约束,或者您可以自由选择任何一对彼此相距0.02且与蓝点相距的点。假设BxB,YB是蓝点,一种可能性是选择其他点为CxB+0.02,YB和DxB+xC/2,YB-0.02*3^0.5/2。。然而,这只是无限可能的三角形之一。我认为还有其他一些约束没有得到很好的表达。。这将给出从蓝色点到粉色点的距离。从粉红色到绿色的距离是0.01,因为它是底部的一半。因此,如果从橙色到蓝色的直线的斜率是S,那么可以使用斜率和高度计算粉色点的位置。从粉色到绿色的直线坡度为-1/S。使用该坡度和0.01的距离,可以计算绿点的位置。