x点 .
     \
      \
       \
        \
         \
          \
          .y点
/***********以下是画线代码********************/
//POINT X
m_Vertex[ 0 ].X = m_PositionP.M41;
m_Vertex[ 0 ].Y = m_PositionP.M42+200;
m_Vertex[ 0 ].Z = m_PositionP.M43;//POINT Y
m_Vertex[ 1 ].X = end.X;
m_Vertex[ 1 ].Y = end.Y+200;
m_Vertex[ 1 ].Z = end.Z;m_iIndices[ 0 ] = 0; 
m_iIndices[ 1 ] = 1;
device.DrawIndexedUserPrimitives( PrimitiveType.LineStrip, 0, 2,1, m_iIndices, false, m_Vertex );
问题我想在x点和y点各画一个三角形(直角,等腰,正三角形都行)
但从x点到y点因此三角型的防线应该是朝y的
而y点到x点的三角形的朝向是朝x的
结果:
如果x,y 在一条平行线
是这样的<|---------------|>    u                              p
   /|                             |\
x +---------------------------------+ y
   \|                             |/
    i                              q已知x点的(x,y)求u和i的(x,y)??第一个+就是x点,也是这个三角的一个点,怎么求其他的两个点 u和x的位置???
后面的y点也就是第二个+号,也是三角的一个点怎么求其他两个p和q的位置???请求出以下变量的值u.x =
u.y =
i.x =
i.y =

解决方案 »

  1.   

    y点没画好
    p
    |\
    --+ y
    |/
    q
      

  2.   

    有一个思路:首先已经有了x,和y点了是吧?那么过x,y点可以决定一条直线,可以很简单的求出来,根据过2点直线公式
    (y0-y1)x + (x1-x0)y + x0y1-x1y0 = 0然后让分别画过x的三角形或过y点的三角形。先画过x点的,再刚才求的这条直线上找任意找一点(如果x,y带入上面求得的直线方程满足 f(x,y)=0,那么这个点就在直线上),求出过这个点和该直线垂直的直线。用斜切式很好求出。因为相互垂直的直线斜率为相反数。
    然后再在该直线上找一点,就是u点,然后求u点关于直线xy对称的点i,很简单就可以求出i。然后连接x,u,i。过y点的和上面方法一样。