RE: making a plane
- To: mathgroup at smc.vnet.net
- Subject: [mg24224] RE: [mg24194] making a plane
- From: Wolf Hartmut <hwolf at debis.com>
- Date: Sat, 1 Jul 2000 03:21:55 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
> -----Original Message----- > From: KHS [SMTP:khs at procd.sogang.ac.kr] To: mathgroup at smc.vnet.net > Sent: Friday, June 30, 2000 7:57 AM > To: mathgroup at smc.vnet.net > Subject: [mg24194] making a plane > > For given 4 points like this, > > 0.0517 , 0.0847 , 0.1004 > 0.0517 , -0.0187 , 0.0344 > -0.0517 , 0.0187 , 0.0690 > -0.0517 , -0.0847 , 0.0030 > > I thought these points should be on the one plane.... > so I make > > > c=Show[Graphics3D[ > > [{{ > 0.0517 , 0.0847 , 0.1004},{ 0.0517 , -0.0187 , 0.0344},{ > -0.0517 , 0.0187 , 0.0690},{ -0.0517 , -0.0847 , > > 0.0030}}]],Axes->Automatic, > PlotRange->{{-0.15,0.15},{-0.15,0.15},{-0.15,0.15}}]; > > > But, the figure is so strange....It looks like 2 planes...I don't > why..Please help me! > [Wolf Hartmut] your points indeed lie in a plane! This can be proved by taking the outer product of any three vector differences: > In[14]:= pts = {{0.0517, 0.0847, 0.1004},{0.0517, -0.0187, 0.0344}, {-0.0517, 0.0187, 0.0690}, {-0.0517, -0.0847, 0.0030}}; In[15]:= planeall = pts - RotateLeft[pts]; In[16]:= Cross @@ Take[#, 2].#[[3]] &[RotateLeft[planeall, #]] & /@ Range[0, 3] Out[16]= {0., 2.168404344971009*^-19, 0., -5.421010862427522*^-20} Now coming to the graphics: the figure you see *is* plane (which you can to some crude precision already decide on its uniform color), the problem however is that you don't see the borderline you expected. This is because the polygon you specified is crossover, not convex. If you switch a single pair of adjacent points everything will look right. See: In[17]:= ptsconvex = pts[[{2, 1, 3, 4}]]; In[19]:= Show[Graphics3D[Polygon[ptsconvex]]] (same color with same lights and viewpoint) -- hw