Diese App erstellt die Parameterdarstellung einer Ebenen durch Eingabe der drei Punkte A, B und C, dann wird der Normalenvektor der Koordinatenebenen mithilfe des Kreuzprodukts bestimmt und die Normalenvektorkoordinaten  zu den Koeffizienten der Ebenenform gemacht, mit dem Skalarprodukt aus Punkt der Ebenen und Normalenvektor ergibt sich die Ebenenform. Zusätzlich wird der Betrag des Normalenvektors ( Kreuzproduktvektor ) berechnet, er stellt den Flächeninhalt des durch A ,B und C aufgespannten Parallelogramms dar, die Hälfte der Parallelogrammfläche  ergibt also die Fläche des Dreiecks. Eine mathematisch umfangreichere Herleitung des Kreuzproduktes habe ich unter www.Zentralabitur.org abgespeichert.

Layout mit Table:

 

<?xml version="1.0" encoding="utf-8"?>
<TableLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/tableLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:shrinkColumns="*"
    android:stretchColumns="*">
    

   
    <TextView
            android:id="@+id/textView99"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textStyle="bold"
            android:typeface="serif"
            android:textSize="18dp" 
            android:text="Punkte A,B,C eingeben:"
            android:gravity="center"
            android:layout_span="6">      
    </TextView>
   
     <TextView
            android:id="@+id/textView10"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textStyle="bold"
            android:typeface="serif"
            android:textSize="18dp" 
            android:text="A(a1;a2;a3) B(b1;b2;b3) C(c1;c2;c3)"
            android:gravity="center"
            android:layout_span="6">      
    </TextView>
   
<TableRow
 android:id="@+id/tableRow2"
        android:layout_height="wrap_content"
        android:layout_width="match_parent">
<EditText
     android:layout_height="wrap_content"
     android:layout_width="match_parent"
     android:hint="a1:"
     android:inputType="numberDecimal"
     android:id="@+id/a1">
 </EditText>

<EditText
     android:layout_height="wrap_content"
     android:layout_width="match_parent"
     android:hint="b1:"
     android:inputType="numberDecimal"
     android:id="@+id/b1">
 </EditText>

<EditText
     android:layout_height="wrap_content"
     android:layout_width="match_parent"
     android:hint="c1:"
     android:inputType="numberDecimal"
     android:id="@+id/c1">
 </EditText>
 
</TableRow>

<TableRow
    android:id="@+id/tableRow3"
        android:layout_height="wrap_content"
        android:layout_width="match_parent">
 <EditText
     android:layout_height="wrap_content"
     android:layout_width="match_parent"
     android:hint="a2:"
     android:inputType="numberDecimal"
     android:id="@+id/a2">
 </EditText>

 <EditText
     android:layout_height="wrap_content"
     android:layout_width="match_parent"
     android:hint="b2:"
     android:inputType="numberDecimal"
     android:id="@+id/b2">
 </EditText>
 
 <EditText
     android:layout_height="wrap_content"
     android:layout_width="match_parent"
     android:hint="c2:"
     android:inputType="numberDecimal"
     android:id="@+id/c2">
 </EditText>
 

</TableRow>

<TableRow
    android:id="@+id/tableRow33"
        android:layout_height="wrap_content"
        android:layout_width="match_parent">
 <EditText
     android:layout_height="wrap_content"
     android:layout_width="match_parent"
     android:hint="a3:"
     android:inputType="numberDecimal"
     android:id="@+id/a3">
 </EditText>

 <EditText
     android:layout_height="wrap_content"
     android:layout_width="match_parent"
     android:hint="b3:"
     android:inputType="numberDecimal"
     android:id="@+id/b3">
 </EditText>
 
 <EditText
     android:layout_height="wrap_content"
     android:layout_width="match_parent"
     android:hint="c3:"
     android:inputType="numberDecimal"
     android:id="@+id/c3">
 </EditText>
 

</TableRow>

<Button
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:id="@+id/Buttonzahlen"
    android:text="Berechnen:"/>
 

 <TextView
            android:id="@+id/textView77"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textStyle="bold"
            android:typeface="serif"
            android:textSize="18dp" 
            android:text="Parameterdarstellung der Ebenen:"
            android:gravity="center"
            android:layout_span="6">      
    </TextView>
   
 
 <TextView
            android:id="@+id/textView78"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textStyle="bold"
            android:typeface="serif"
            android:textSize="18dp" 
            android:text="E: x = p + r*u + s*v"
            android:gravity="center"
            android:layout_span="6">      
    </TextView>
 
<TableRow
android:id="@+id/tableRow54"
        android:layout_height="wrap_content"
        android:layout_width="match_parent">
<TextView
    android:layout_height="wrap_content"
     android:layout_width="fill_parent"
     android:textStyle="bold"
            android:typeface="serif"
            android:textSize="18dp"
     android:id="@+id/p1"
     >
 </TextView>

<TextView
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:textStyle="bold"
            android:typeface="serif"
            android:textSize="18dp"
     android:id="@+id/u1"
     >
 </TextView>


<TextView
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:textStyle="bold"
            android:typeface="serif"
            android:textSize="18dp"
     android:id="@+id/v1"
     >
 </TextView>
 
</TableRow>


<TableRow
android:id="@+id/tableRow55"
        android:layout_height="wrap_content"
        android:layout_width="match_parent">
<TextView
    android:layout_height="wrap_content"
     android:layout_width="fill_parent"
     android:textStyle="bold"
            android:typeface="serif"
            android:textSize="18dp"
     android:id="@+id/p2"
     >
 </TextView>

<TextView
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:textStyle="bold"
            android:typeface="serif"
            android:textSize="18dp"
     android:id="@+id/u2"
     >
 </TextView>


<TextView
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:textStyle="bold"
            android:typeface="serif"
            android:textSize="18dp"
     android:id="@+id/v2"
     >
 </TextView>
 
</TableRow>

<TableRow
android:id="@+id/tableRow56"
        android:layout_height="wrap_content"
        android:layout_width="match_parent">
<TextView
    android:layout_height="wrap_content"
     android:layout_width="fill_parent"
     android:textStyle="bold"
            android:typeface="serif"
            android:textSize="18dp"
     android:id="@+id/p3"
     >
 </TextView>

<TextView
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:textStyle="bold"
            android:typeface="serif"
            android:textSize="18dp"
     android:id="@+id/u3"
     >
 </TextView>


<TextView
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:textStyle="bold"
            android:typeface="serif"
            android:textSize="18dp"
     android:id="@+id/v3"
     >
 </TextView>
 
</TableRow>
 
    <TextView
            android:id="@+id/textView69"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textStyle="bold"
            android:typeface="serif"
            android:textSize="18dp" 
            android:text="Normalenvektor n(n1;n2;n3)"
            android:gravity="center"
            android:layout_span="6">      
    </TextView>

    <TableRow
android:id="@+id/tableRow85"
        android:layout_height="wrap_content"
        android:layout_width="match_parent">
<TextView
    android:layout_height="wrap_content"
     android:layout_width="fill_parent"
     android:textStyle="bold"
            android:typeface="serif"
            android:textSize="18dp"
     android:id="@+id/n1"
     >
 </TextView>

<TextView
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:textStyle="bold"
            android:typeface="serif"
            android:textSize="18dp"
     android:id="@+id/n2"
     >
 </TextView>


<TextView
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:textStyle="bold"
            android:typeface="serif"
            android:textSize="18dp"
     android:id="@+id/n3"
     >
 </TextView>
 
</TableRow>
    <TextView
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:textStyle="bold"
            android:typeface="serif"
            android:textSize="18dp"
     android:id="@+id/d1"
     >
 </TextView>
   
   
     <TextView
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:textStyle="bold"
            android:typeface="serif"
            android:textSize="18dp"
     android:id="@+id/k1"
     >
 </TextView>
 
      <TextView
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:textStyle="bold"
            android:typeface="serif"
            android:textSize="18dp"
     android:id="@+id/f1"
     >
 </TextView>
   
</TableLayout>

 

Java - Programm mit Namen : dreiflaeche ( hier muß ihr AppName stehen)

package com.example.dreiflaeche;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.ViewGroup;
import android.os.Build;
import android.widget.ImageView;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.app.Activity;

public class MainActivity extends Activity




implements OnClickListener{
/** Called when the activity is first created. */

   
    public Button Buttonzahlen,Buttonweiter;
    public EditText a11,a22,a33,b11,b22,b33,c11,c22,c33,a111;
    public TextView p11,p22,p33,u11,u22,u33,v11,v22,v33,n11,n22,n33,d,k,f;
    private int i,zielzahl,eingabe,zielzahl2;
    private double az1,az2,az3,bz1,bz2,bz3,cz1,cz2,cz3,n1,n2,n3,p1,p2,p3,dz,az,w,ww;
   
   
   
    @Override
 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);

 setContentView(R.layout.activity_main);
 
 
 
 
 
 //jetzt muss die App wissen, wer was ist
 

 Buttonzahlen = (Button) findViewById(R.id.Buttonzahlen);
 a11 = (EditText) findViewById(R.id.a1);
 a22 = (EditText) findViewById(R.id.a2);
 a33 = (EditText) findViewById(R.id.a3);
 b11 = (EditText) findViewById(R.id.b1);
 b22 = (EditText) findViewById(R.id.b2);
 b33 = (EditText) findViewById(R.id.b3);
 c11 = (EditText) findViewById(R.id.c1);
 c22 = (EditText) findViewById(R.id.c2);
 c33 = (EditText) findViewById(R.id.c3);
 
 p11= (TextView) findViewById(R.id.p1);
 p22 = (TextView) findViewById(R.id.p2);
 p33 = (TextView) findViewById(R.id.p3);

 u11= (TextView) findViewById(R.id.u1);
 u22 = (TextView) findViewById(R.id.u2);
 u33 = (TextView) findViewById(R.id.u3);
 
 v11= (TextView) findViewById(R.id.v1);
 v22 = (TextView) findViewById(R.id.v2);
 v33 = (TextView) findViewById(R.id.v3);
 
 n11= (TextView) findViewById(R.id.n1);
 n22 = (TextView) findViewById(R.id.n2);
 n33 = (TextView) findViewById(R.id.n3);
 
 d = (TextView) findViewById(R.id.d1);
 
 k= (TextView) findViewById(R.id.k1);
 
 f= (TextView) findViewById(R.id.f1);
 
 //Dem OnClickListener muss gesagt werden, dass er auf den Button achten soll
 Buttonzahlen.setOnClickListener(this);
 
}

//OnClick: Wird aufgerufen, wenn geklickt wird..
    @Override
   
   
   
    public void onClick(View v)
  {
    //(braucht man eigentlich nur bei mehreren Buttons)
    //Zwischen den Buttons unterscheiden:
    //v = View, auf die geklickt wurde, wird uns mitgegeben..
       
     if(v == Buttonzahlen)
         {
         
         
            az1 = Double.valueOf(a11.getText().toString());
            az2 = Double.valueOf(a22.getText().toString());
            az3 = Double.valueOf(a33.getText().toString());
            bz1 = Double.valueOf(b11.getText().toString());
            bz2 = Double.valueOf(b22.getText().toString());
            bz3 = Double.valueOf(b33.getText().toString());
            cz1 = Double.valueOf(c11.getText().toString());
            cz2 = Double.valueOf(c22.getText().toString());
            cz3 = Double.valueOf(c33.getText().toString());
           
           
           
           
            n1=(bz2-az2)*(cz3-az3)-(bz3-az3)*(cz2-az2);
            n2=(bz3-az3)*(cz1-az1)-(bz1-az1)*(cz3-az3);
            n3=(bz1-az1)*(cz2-az2)-(bz2-az2)*(cz1-az1);
                   
            n1=Math.round(n1*100.0)/100.0;
            n2=Math.round(n2*100.0)/100.0;
            n3=Math.round(n3*100.0)/100.0;
           
            p11.setText("p1= "+az1);
            p22.setText("p2= "+az2);
            p33.setText("p3= "+az3);

            u11.setText("u1= "+(bz1-az1));
            u22.setText("u2= "+(bz2-az2));
            u33.setText("u3= "+(bz3-az3));
           
            v11.setText("v1= "+(cz1-az1));
            v22.setText("v2= "+(cz2-az2));
            v33.setText("v3= "+(cz3-az3));
                     
            n11.setText("n1= "+n1);
            n22.setText("n2= "+n2);
            n33.setText("n3= "+n3);
           
            dz=n1*az1+n2*az2+n3*az3;
           
            d.setText("d= "+dz);
            
            k.setText("E: "+n1+"* x1 + "+ n2+"* x2 +"+n3+"* x3="+dz);
           
           
            w=Math.sqrt(n1*n1+n2*n2+n3*n3);
            ww=w/2;
            az=Math.round(100.0*ww)/100.0;
                       
            f.setText("Dreiecksfläche:  "+ az+" Flächeneinheiten");
       }
     
         }
     
     
    }