Verfügbare Informationen zu "nicht für euch"
Qualität des Beitrags: Beteiligte Poster: Paul_Bertram - Jochen Forum: Hike 2006 aus dem Unterforum: Allgemein Spam Antworten: 7 Forum gestartet am: Sonntag 18.06.2006 Sprache: deutsch Link zum Originaltopic: nicht für euch Letzte Antwort: vor 16 Jahren, 8 Monaten, 8 Tagen, 22 Stunden, 42 Minuten
Alle Beiträge und Antworten zu "nicht für euch"
Re: nicht für euch
Paul_Bertram - 10.07.2006, 16:51nicht für euch
/** Orientierungsprogramm.java
* Written by Paul Bertram on the 11th of July, 2006
* Based on the article "Oscillatory behaviour in a lattice prey-predator system" by Adam Lipowsky & the programm * "Superpredator" by Jürgen Hubert
*/
import java.awt.*;
import java.awt.color.*;
import java.awt.event.*;
import java.applet.*;
import java.math.*;
import java.util.*;
public class Orientierungsprogramm
extends Applet
implements ActionListener
{
TextField stepNrField;
TextField orientNrField;
TextField rateOrientField;
Random r = new Random();
int xSize = 150;
int ySize = 100;
double stepNr;
int iterNr;
double rateOrient;
int orientNr;
double[][] orient = new double [xSize][ySize];
public void init() //initialize layout, calculate starting values
{
setLayout(null);
Button resetButton = new Button("Neu");
resetButton.setBounds(20,430,100,40);
resetButton.addActionListener(this);
add(resetButton);
setLayout(null);
Button calculateButton = new Button("Rechnen");
calculateButton.setBounds(130,430,100,40);
calculateButton.addActionListener(this);
add(calculateButton);
setLayout(null);
Button autoButton = new Button("Automatik");
autoButton.setBounds(240,430,100,40);
autoButton.addActionListener(this);
add(autoButton);
stepNrField = new TextField("10000");
stepNrField.setBounds(470,480,100,40);
add(stepNrField);
orientNrField = new TextField("6");
orientNrField.setBounds(300,530,100,40);
add(orientNrField);
rateOrientField = new TextField("0.5");
rateOrientField.setBounds(470,530,100,40);
add(rateOrientField);
ResetValues();
}
public void paint(Graphics g) //draw text and displays
{
int x,y;
int x_rel,y_rel;
int red, green, blue;
g.drawString("Schritte =",410,500);
g.drawString("Orientierungen =",220,550);
g.drawString("Orientierungswechsel=",410,550);
g.drawString("Aktueller Schritt: " + iterNr,20,510);
for(x=0;x<xSize;x++) {
for(y=0;y<ySize;y++) {
if (orient[x][y] < 1/6) {
blue = 255;
green = (int)((orient[x][y]*6)*255);
red = 0;
}
else if (orient[x][y] < 2/6) {
blue = (int)((((1/3)-orient[x][y])*6)*255);
green = 255;
red = 0;
}
else if (orient[x][y] < 3/6) {
blue = 0;
green = 255;
red = (int)(-((orient[x][y]-(3/6))*6)*255);
}
else if (orient[x][y] < 4/6) {
blue = 0;
green = (int)((((2/3)-orient[x][y])*6)*255);
red = 255;
}
else if (orient[x][y] < 5/6) {
blue = (int)(-((orient[x][y]-(5/6))*6)*255);
green = 0;
red = 255;
}
else if (orient[x][y] <= 1) {
blue = 255;
green = 0;
red = (int)(((1-orient[x][y])*6)*255);
}
//g.setColor(new Color(red,green,blue)); <-------Fehler
//g.fillRect(x*4,y*4,4,4);
}
}
}
public void actionPerformed(ActionEvent event) //react to buttons
{
int i;
int x, y;
boolean calculate, reset, auto;
calculate = event.getActionCommand().equals("Rechnen");
reset = event.getActionCommand().equals("Neu");
auto = event.getActionCommand().equals("Automatik");
if(calculate) {
rateOrient = Double.parseDouble(rateOrientField.getText());
stepNr = Integer.parseInt(stepNrField.getText());
iterNr +=stepNr;
for(i=1;i<=stepNr;i++) {
CalculateStep();
}
repaint();
}
if(reset) {
orientNr = Integer.parseInt(orientNrField.getText());
rateOrient = Double.parseDouble(rateOrientField.getText());
ResetValues();
repaint();
}
if(auto) {
rateOrient = Double.parseDouble(rateOrientField.getText());
stepNr = Integer.parseInt(stepNrField.getText());
iterNr +=stepNr;
int j;
for(j=1;j<50;j++) {
for(i=1;i<=stepNr;i++) {
CalculateStep();
}
repaint();
//Thread.sleep(100); <------Fehler
}
}
}
void CalculateStep()
{
int x, y;
x = Math.abs(r.nextInt()) % xSize;
y = Math.abs(r.nextInt()) % ySize;
UpdateZelle(x,y);
}
void UpdateZelle(int x, int y)
{
double emptyNr = 0;
double[] p = new double [orientNr];
double eAlt = 0;
double[] eNeu = new double [orientNr];
int k;
for(k=1;k<orientNr;k++) {
eNeu[k]=0;
}
int xp = x+1;
int xm = x-1;
int yp = y+1;
int ym = y-1;
if(xp==xSize) xp = 0;
if(xm==-1) xm = xSize - 1;
if(yp==ySize) yp = 0;
if(ym==-1) ym = ySize - 1;
//Berechnung von eAlt
if (orient[xp][yp]!=orient[x][y]){
eAlt = eAlt+(Math.abs(Math.sin(orient[xp][yp]*Math.PI-orient[x][y]*Math.PI)) /Math.sqrt(2));
}
if (orient[xp][ym]!=orient[x][y]){
eAlt = eAlt+(Math.abs(Math.sin(orient[xp][ym]*Math.PI-orient[x][y]*Math.PI)) /Math.sqrt(2));
}
if (orient[xm][yp]!=orient[x][y]){
eAlt = eAlt+(Math.abs(Math.sin(orient[xm][yp]*Math.PI-orient[x][y]*Math.PI)) /Math.sqrt(2));
}
if (orient[xm][ym]!=orient[x][y]){
eAlt = eAlt+(Math.abs(Math.sin(orient[xm][ym]*Math.PI-orient[x][y]*Math.PI)) /Math.sqrt(2));
}
if (orient[xp][y]!=orient[x][y]){
eAlt = eAlt+(Math.abs(Math.sin(orient[xp][y]*Math.PI-orient[x][y]*Math.PI)));
}
if (orient[x][yp]!=orient[x][y]){
eAlt = eAlt+(Math.abs(Math.sin(orient[x][yp]*Math.PI-orient[x][y]*Math.PI)));
}
if (orient[xm][y]!=orient[x][y]){
eAlt = eAlt+(Math.abs(Math.sin(orient[xm][y]*Math.PI-orient[x][y]*Math.PI)));
}
if (orient[x][ym]!=orient[x][y]){
eAlt = eAlt+(Math.abs(Math.sin(orient[x][ym]*Math.PI-orient[x][y]*Math.PI)));
}
//Berechnung von möglichen eNeu
int i;
double[][] orientNeu = new double[xSize][ySize];
for(i=1;i<orientNr;i++) {
if (orient[x][y]!=i/orientNr){
orientNeu[x][y]=i/orientNr;
}
if (orient[xp][yp]!=orientNeu[x][y]){
eNeu[i] = eNeu[i]+(Math.abs(Math.sin(orient[xp][yp]*Math.PI-orientNeu[x][y]*Math.PI)) /Math.sqrt(2));
}
if (orient[xp][ym]!=orientNeu[x][y]){
eNeu[i] = eNeu[i]+(Math.abs(Math.sin(orient[xp][ym]*Math.PI-orientNeu[x][y]*Math.PI)) /Math.sqrt(2));
}
if (orient[xm][yp]!=orientNeu[x][y]){
eNeu[i] = eNeu[i]+(Math.abs(Math.sin(orient[xm][yp]*Math.PI-orientNeu[x][y]*Math.PI)) /Math.sqrt(2));
}
if (orient[xm][ym]!=orientNeu[x][y]){
eNeu[i] = eNeu[i]+(Math.abs(Math.sin(orient[xm][ym]*Math.PI-orientNeu[x][y]*Math.PI)) /Math.sqrt(2));
}
if (orient[xp][y]!=orientNeu[x][y]){
eNeu[i] = eNeu[i]+(Math.abs(Math.sin(orient[xp][y]*Math.PI-orientNeu[x][y]*Math.PI)));
}
if (orient[x][yp]!=orientNeu[x][y]){
eNeu[i] = eNeu[i]+(Math.abs(Math.sin(orient[x][yp]*Math.PI-orientNeu[x][y]*Math.PI)));
}
if (orient[xm][y]!=orientNeu[x][y]){
eNeu[i] = eNeu[i]+(Math.abs(Math.sin(orient[xm][y]*Math.PI-orientNeu[x][y]*Math.PI)));
}
if (orient[x][ym]!=orientNeu[x][y]){
eNeu[i] = eNeu[i]+(Math.abs(Math.sin(orient[x][ym]*Math.PI-orientNeu[x][y]*Math.PI)));
}
}
//Berechnung der Differrenz und der Wahrscheinlichkeit, dass die Orientierung sich ändert
double[] eDiff = new double [orientNr];
for(i=1;i<orientNr>p[i]) {
orient[x][y] = orientNeu[x][y]; //Neue Orientierung
}
}
repaint();
}
void ResetValues()
{
int x, y, z;
iterNr = 0;
for(x=0;x<xSize;x++) {
for(y=0;y<ySize;y++) {
orient[x][y] = (GetRandom());
for(z=1;z<orientNr;z++) {
if (orient[x][y] < (double)z/orientNr) {
orient[x][y] = (double)z/orientNr;
}
}
}
}
}
double GetRandom()
{
double ranVal = Math.abs(Math.random());
return ranVal - Math.floor(ranVal);
}
}
Re: nicht für euch
Paul_Bertram - 11.07.2006, 15:48
/** Orientierungsprogramm.java
* Written by Paul Bertram on the 11th of July, 2006
* Based on the article "Oscillatory behaviour in a lattice prey-predator system" by Adam Lipowsky & the programm * "Superpredator" by Jürgen Hubert
*/
import java.awt.*;
import java.awt.color.*;
import java.awt.event.*;
import java.applet.*;
import java.math.*;
import java.util.*;
public class Orientierungsprogramm
extends Applet
implements ActionListener
{
TextField stepNrField;
TextField orientNrField;
TextField rateOrientField;
Random r = new Random();
int xSize = 150;
int ySize = 100;
double stepNr;
int iterNr;
double rateOrient;
int orientNr;
double[][] orient = new double [xSize][ySize];
public void init() //initialize layout, calculate starting values
{
setLayout(null);
Button resetButton = new Button("Neu");
resetButton.setBounds(20,430,100,40);
resetButton.addActionListener(this);
add(resetButton);
setLayout(null);
Button calculateButton = new Button("Rechnen");
calculateButton.setBounds(130,430,100,40);
calculateButton.addActionListener(this);
add(calculateButton);
setLayout(null);
Button autoButton = new Button("Automatik");
autoButton.setBounds(240,430,100,40);
autoButton.addActionListener(this);
add(autoButton);
stepNrField = new TextField("10000");
stepNrField.setBounds(470,480,100,40);
add(stepNrField);
orientNrField = new TextField("6");
orientNrField.setBounds(300,530,100,40);
add(orientNrField);
rateOrientField = new TextField("0.5");
rateOrientField.setBounds(470,530,100,40);
add(rateOrientField);
ResetValues();
}
public void paint(Graphics g) //draw text and displays
{
int x,y;
int x_rel,y_rel;
int red, green, blue;
green=0;
red=0;
blue=0;
g.drawString("Schritte =",410,500);
g.drawString("Orientierungen =",220,550);
g.drawString("Orientierungswechsel=",410,550);
g.drawString("Aktueller Schritt: " + iterNr,20,510);
for(x=0;x<xSize;x++) {
for(y=0;y<ySize;y++) {
if (orient[x][y] < 1/6) {
blue = 255;
green = (int)((orient[x][y]*6)*255);
red = 0;
}
else if (orient[x][y] < 2/6) {
blue = (int)((((1/3)-orient[x][y])*6)*255);
green = 255;
red = 0;
}
else if (orient[x][y] < 3/6) {
blue = 0;
green = 255;
red = (int)(-((orient[x][y]-(3/6))*6)*255);
}
else if (orient[x][y] < 4/6) {
blue = 0;
green = (int)((((2/3)-orient[x][y])*6)*255);
red = 255;
}
else if (orient[x][y] < 5/6) {
blue = (int)(-((orient[x][y]-(5/6))*6)*255);
green = 0;
red = 255;
}
else if (orient[x][y] <= 1) {
blue = 255;
green = 0;
red = (int)(((1-orient[x][y])*6)*255);
}
g.setColor(new Color(red,green,blue));
g.fillRect(x*4,y*4,4,4);
}
}
}
public void actionPerformed(ActionEvent event) //react to buttons
{
int i;
int x, y;
boolean calculate, reset, auto;
calculate = event.getActionCommand().equals("Rechnen");
reset = event.getActionCommand().equals("Neu");
auto = event.getActionCommand().equals("Automatik");
if(calculate) {
rateOrient = Double.parseDouble(rateOrientField.getText());
stepNr = Integer.parseInt(stepNrField.getText());
iterNr +=stepNr;
for(i=1;i<=stepNr;i++) {
CalculateStep();
}
repaint();
}
if(reset) {
orientNr = Integer.parseInt(orientNrField.getText());
rateOrient = Double.parseDouble(rateOrientField.getText());
ResetValues();
repaint();
}
if(auto) {
rateOrient = Double.parseDouble(rateOrientField.getText());
stepNr = Integer.parseInt(stepNrField.getText());
iterNr +=stepNr;
int j;
for(j=1;j<50;j++) {
for(i=1;i<=stepNr;i++) {
CalculateStep();
}
repaint();
//Thread.sleep(100); <------Fehler
}
}
}
void CalculateStep()
{
int x, y;
x = Math.abs(r.nextInt()) % xSize;
y = Math.abs(r.nextInt()) % ySize;
UpdateZelle(x,y);
}
void UpdateZelle(int x, int y)
{
double emptyNr = 0;
double[] p = new double [orientNr];
double eAlt = 0;
double[] eNeu = new double [orientNr];
int k;
for(k=1;k<orientNr;k++) {
eNeu[k]=0;
}
int xp = x+1;
int xm = x-1;
int yp = y+1;
int ym = y-1;
if(xp==xSize) xp = 0;
if(xm==-1) xm = xSize - 1;
if(yp==ySize) yp = 0;
if(ym==-1) ym = ySize - 1;
//Berechnung von eAlt
if (orient[xp][yp]!=orient[x][y]){
eAlt = eAlt+(Math.abs(Math.sin(orient[xp][yp]*Math.PI-orient[x][y]*Math.PI)) /Math.sqrt(2));
}
if (orient[xp][ym]!=orient[x][y]){
eAlt = eAlt+(Math.abs(Math.sin(orient[xp][ym]*Math.PI-orient[x][y]*Math.PI)) /Math.sqrt(2));
}
if (orient[xm][yp]!=orient[x][y]){
eAlt = eAlt+(Math.abs(Math.sin(orient[xm][yp]*Math.PI-orient[x][y]*Math.PI)) /Math.sqrt(2));
}
if (orient[xm][ym]!=orient[x][y]){
eAlt = eAlt+(Math.abs(Math.sin(orient[xm][ym]*Math.PI-orient[x][y]*Math.PI)) /Math.sqrt(2));
}
if (orient[xp][y]!=orient[x][y]){
eAlt = eAlt+(Math.abs(Math.sin(orient[xp][y]*Math.PI-orient[x][y]*Math.PI)));
}
if (orient[x][yp]!=orient[x][y]){
eAlt = eAlt+(Math.abs(Math.sin(orient[x][yp]*Math.PI-orient[x][y]*Math.PI)));
}
if (orient[xm][y]!=orient[x][y]){
eAlt = eAlt+(Math.abs(Math.sin(orient[xm][y]*Math.PI-orient[x][y]*Math.PI)));
}
if (orient[x][ym]!=orient[x][y]){
eAlt = eAlt+(Math.abs(Math.sin(orient[x][ym]*Math.PI-orient[x][y]*Math.PI)));
}
//Berechnung von möglichen eNeu
int i;
double[][] orientNeu = new double[xSize][ySize];
for(i=1;i<orientNr;i++) {
if (orient[x][y]!=i/orientNr){
orientNeu[x][y]=i/orientNr;
}
if (orient[xp][yp]!=orientNeu[x][y]){
eNeu[i] = eNeu[i]+(Math.abs(Math.sin(orient[xp][yp]*Math.PI-orientNeu[x][y]*Math.PI)) /Math.sqrt(2));
}
if (orient[xp][ym]!=orientNeu[x][y]){
eNeu[i] = eNeu[i]+(Math.abs(Math.sin(orient[xp][ym]*Math.PI-orientNeu[x][y]*Math.PI)) /Math.sqrt(2));
}
if (orient[xm][yp]!=orientNeu[x][y]){
eNeu[i] = eNeu[i]+(Math.abs(Math.sin(orient[xm][yp]*Math.PI-orientNeu[x][y]*Math.PI)) /Math.sqrt(2));
}
if (orient[xm][ym]!=orientNeu[x][y]){
eNeu[i] = eNeu[i]+(Math.abs(Math.sin(orient[xm][ym]*Math.PI-orientNeu[x][y]*Math.PI)) /Math.sqrt(2));
}
if (orient[xp][y]!=orientNeu[x][y]){
eNeu[i] = eNeu[i]+(Math.abs(Math.sin(orient[xp][y]*Math.PI-orientNeu[x][y]*Math.PI)));
}
if (orient[x][yp]!=orientNeu[x][y]){
eNeu[i] = eNeu[i]+(Math.abs(Math.sin(orient[x][yp]*Math.PI-orientNeu[x][y]*Math.PI)));
}
if (orient[xm][y]!=orientNeu[x][y]){
eNeu[i] = eNeu[i]+(Math.abs(Math.sin(orient[xm][y]*Math.PI-orientNeu[x][y]*Math.PI)));
}
if (orient[x][ym]!=orientNeu[x][y]){
eNeu[i] = eNeu[i]+(Math.abs(Math.sin(orient[x][ym]*Math.PI-orientNeu[x][y]*Math.PI)));
}
}
//Berechnung der Differrenz und der Wahrscheinlichkeit, dass die Orientierung sich ändert
double[] eDiff = new double [orientNr];
for(i=1;i<orientNr>p[i]) {
orient[x][y] = orientNeu[x][y]; //Neue Orientierung
}
}
repaint();
}
void ResetValues()
{
int x, y, z;
iterNr = 0;
for(x=0;x<xSize;x++) {
for(y=0;y<ySize;y++) {
orient[x][y] = (GetRandom());
for(z=1;z<orientNr;z++) {
if (orient[x][y] < (double)z/orientNr) {
orient[x][y] = (double)z/orientNr;
}
}
}
}
}
double GetRandom()
{
double ranVal = Math.abs(Math.random());
return ranVal - Math.floor(ranVal);
}
}
Re: nicht für euch
Jochen - 11.07.2006, 16:27
wo kopierste dir das denn immer rauß?
Re: nicht für euch
Paul_Bertram - 11.07.2006, 17:58
/** Orientierungsprogramm.java
* Written by Paul Bertram on the 11th of July, 2006
* Based on the article "Oscillatory behaviour in a lattice prey-predator system" by Adam Lipowsky & the programm * "Superpredator" by Jürgen Hubert
*/
import java.awt.*;
import java.awt.color.*;
import java.awt.event.*;
import java.applet.*;
import java.math.*;
import java.util.*;
public class Orientierungsprogramm
extends Applet
implements ActionListener
{
TextField stepNrField;
TextField orientNrField;
TextField rateOrientField;
Random r = new Random();
int xSize = 150;
int ySize = 100;
double stepNr;
int iterNr;
double rateOrient;
int orientNr;
double[][] orient = new double [xSize][ySize];
public void init() //initialize layout, calculate starting values
{
setLayout(null);
Button resetButton = new Button("Neu");
resetButton.setBounds(20,430,100,40);
resetButton.addActionListener(this);
add(resetButton);
setLayout(null);
Button calculateButton = new Button("Rechnen");
calculateButton.setBounds(130,430,100,40);
calculateButton.addActionListener(this);
add(calculateButton);
setLayout(null);
Button autoButton = new Button("Automatik");
autoButton.setBounds(240,430,100,40);
autoButton.addActionListener(this);
add(autoButton);
stepNrField = new TextField("10000");
stepNrField.setBounds(150,480,100,40);
add(stepNrField);
orientNrField = new TextField("6");
orientNrField.setBounds(400,530,100,40);
add(orientNrField);
rateOrientField = new TextField("0.5");
rateOrientField.setBounds(150,530,100,40);
add(rateOrientField);
orientNr = Integer.parseInt(orientNrField.getText());
rateOrient = Double.parseDouble(rateOrientField.getText());
ResetValues();
repaint();
}
public void paint(Graphics g) //draw text and displays
{
int x,y;
int x_rel,y_rel;
int red, green, blue;
green=0;
red=0;
blue=0;
g.drawString("Schritte =",10,500);
g.drawString("Orientierungen =",300,550);
g.drawString("O-wechsel=",10,550);
g.drawString("Aktueller Schritt: " + iterNr,300,510);
orient[1][1] = 1/6;
orient[1][2] = 2/6;
orient[1][3] = 3/6;
orient[1][4] = 4/6;
orient[1][5] = 5/6;
orient[1][6] = 1;
for(x=0;x<xSize;x++) {
for(y=0;y<ySize;y++) {
if (orient[x][y] <= 1/6) {
blue = 255;
green = (int)((orient[x][y]*6)*255);
red = 0;
}
else if (orient[x][y] <= 2/6) {
blue = (int)((((1/3)-orient[x][y])*6)*255);
green = 255;
red = 0;
}
else if (orient[x][y] <= 3/6) {
blue = 0;
green = 255;
red = (int)(-((orient[x][y]-(3/6))*6)*255);
}
else if (orient[x][y] <= 4/6) {
blue = 0;
green = (int)((((2/3)-orient[x][y])*6)*255);
red = 255;
}
else if (orient[x][y] <= 5/6) {
blue = (int)(-((orient[x][y]-(5/6))*6)*255);
green = 0;
red = 255;
}
else if (orient[x][y] <= 1) {
blue = 255;
green = 0;
red = (int)(((1-orient[x][y])*6)*255);
}
g.setColor(new Color(red,green,blue));
g.fillRect(x*4,y*4,4,4);
}
}
}
public void actionPerformed(ActionEvent event) //react to buttons
{
int i;
int x, y;
boolean calculate, reset, auto;
calculate = event.getActionCommand().equals("Rechnen");
reset = event.getActionCommand().equals("Neu");
auto = event.getActionCommand().equals("Automatik");
if(calculate) {
rateOrient = Double.parseDouble(rateOrientField.getText());
stepNr = Integer.parseInt(stepNrField.getText());
iterNr +=stepNr;
for(i=1;i<=stepNr;i++) {
CalculateStep();
}
repaint();
}
if(reset) {
orientNr = Integer.parseInt(orientNrField.getText());
rateOrient = Double.parseDouble(rateOrientField.getText());
ResetValues();
repaint();
}
if(auto) {
rateOrient = Double.parseDouble(rateOrientField.getText());
stepNr = Integer.parseInt(stepNrField.getText());
iterNr +=stepNr;
int j;
for(j=1;j<50;j++) {
for(i=1;i<=stepNr;i++) {
CalculateStep();
}
repaint();
//Thread.sleep(100); <------Fehler
}
}
}
void CalculateStep()
{
int x, y;
x = Math.abs(r.nextInt()) % xSize;
y = Math.abs(r.nextInt()) % ySize;
UpdateZelle(x,y);
}
void UpdateZelle(int x, int y)
{
double[] p = new double [orientNr];
double eAlt = 0;
double[] eNeu = new double [orientNr];
int k;
for(k=1;k<orientNr;k++) {
eNeu[k]=0;
}
int xp = x+1;
int xm = x-1;
int yp = y+1;
int ym = y-1;
if(xp==xSize) xp = 0;
if(xm==-1) xm = xSize - 1;
if(yp==ySize) yp = 0;
if(ym==-1) ym = ySize - 1;
//Berechnung von eAlt
if (orient[xp][yp]!=orient[x][y]){
eAlt = eAlt+(Math.abs(Math.sin(orient[xp][yp]*Math.PI-orient[x][y]*Math.PI)) /Math.sqrt(2));
}
if (orient[xp][ym]!=orient[x][y]){
eAlt = eAlt+(Math.abs(Math.sin(orient[xp][ym]*Math.PI-orient[x][y]*Math.PI)) /Math.sqrt(2));
}
if (orient[xm][yp]!=orient[x][y]){
eAlt = eAlt+(Math.abs(Math.sin(orient[xm][yp]*Math.PI-orient[x][y]*Math.PI)) /Math.sqrt(2));
}
if (orient[xm][ym]!=orient[x][y]){
eAlt = eAlt+(Math.abs(Math.sin(orient[xm][ym]*Math.PI-orient[x][y]*Math.PI)) /Math.sqrt(2));
}
if (orient[xp][y]!=orient[x][y]){
eAlt = eAlt+(Math.abs(Math.sin(orient[xp][y]*Math.PI-orient[x][y]*Math.PI)));
}
if (orient[x][yp]!=orient[x][y]){
eAlt = eAlt+(Math.abs(Math.sin(orient[x][yp]*Math.PI-orient[x][y]*Math.PI)));
}
if (orient[xm][y]!=orient[x][y]){
eAlt = eAlt+(Math.abs(Math.sin(orient[xm][y]*Math.PI-orient[x][y]*Math.PI)));
}
if (orient[x][ym]!=orient[x][y]){
eAlt = eAlt+(Math.abs(Math.sin(orient[x][ym]*Math.PI-orient[x][y]*Math.PI)));
}
//Berechnung von möglichen eNeu
int i;
double[][] orientNeu = new double[xSize][ySize];
for(i=1;i<orientNr;i++) {
if (orient[x][y]!=i/orientNr){
orientNeu[x][y]=i/orientNr;
}
if (orient[xp][yp]!=orientNeu[x][y]){
eNeu[i] = eNeu[i]+(Math.abs(Math.sin(orient[xp][yp]*Math.PI-orientNeu[x][y]*Math.PI)) /Math.sqrt(2));
}
if (orient[xp][ym]!=orientNeu[x][y]){
eNeu[i] = eNeu[i]+(Math.abs(Math.sin(orient[xp][ym]*Math.PI-orientNeu[x][y]*Math.PI)) /Math.sqrt(2));
}
if (orient[xm][yp]!=orientNeu[x][y]){
eNeu[i] = eNeu[i]+(Math.abs(Math.sin(orient[xm][yp]*Math.PI-orientNeu[x][y]*Math.PI)) /Math.sqrt(2));
}
if (orient[xm][ym]!=orientNeu[x][y]){
eNeu[i] = eNeu[i]+(Math.abs(Math.sin(orient[xm][ym]*Math.PI-orientNeu[x][y]*Math.PI)) /Math.sqrt(2));
}
if (orient[xp][y]!=orientNeu[x][y]){
eNeu[i] = eNeu[i]+(Math.abs(Math.sin(orient[xp][y]*Math.PI-orientNeu[x][y]*Math.PI)));
}
if (orient[x][yp]!=orientNeu[x][y]){
eNeu[i] = eNeu[i]+(Math.abs(Math.sin(orient[x][yp]*Math.PI-orientNeu[x][y]*Math.PI)));
}
if (orient[xm][y]!=orientNeu[x][y]){
eNeu[i] = eNeu[i]+(Math.abs(Math.sin(orient[xm][y]*Math.PI-orientNeu[x][y]*Math.PI)));
}
if (orient[x][ym]!=orientNeu[x][y]){
eNeu[i] = eNeu[i]+(Math.abs(Math.sin(orient[x][ym]*Math.PI-orientNeu[x][y]*Math.PI)));
}
}
//Berechnung der Differrenz und der Wahrscheinlichkeit, dass die Orientierung sich ändert
double[] eDiff = new double [orientNr];
for(i=1;i<orientNr>p[i]) {
orient[x][y] = orientNeu[x][y]; //Neue Orientierung
}
}
repaint();
}
void ResetValues()
{
int x, y, z;
iterNr = 0;
for(x=0;x<xSize;x++) {
for(y=0;y<ySize;y++) {
orient[x][y] = (GetRandom());
for(z=1;z<orientNr;z++) {
if (orient[x][y] < (double)z/orientNr) {
orient[x][y] = (double)z-1/orientNr;
}
}
}
}
}
double GetRandom()
{
double ranVal = Math.abs(Math.random());
return ranVal - Math.floor(ranVal);
}
}
Re: nicht für euch
Paul_Bertram - 11.07.2006, 19:35
selbst geschrieben, hehe
Re: nicht für euch
Jochen - 12.07.2006, 12:14
schreib mal hier rein, wenn du in den mainchat kommst. oder ruf kurz an.
Re: nicht für euch
Paul_Bertram - 19.07.2006, 11:49
bin drin, nur du net
Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken
Weitere Beiträge aus dem Forum Hike 2006
Bewerbung, warum? - gepostet von Paul_Bertram am Sonntag 18.06.2006
Ähnliche Beiträge wie "nicht für euch"
der_zwerg - jimbo (Sonntag 12.11.2006)
Großer Plöner See Spitzenort - Hörnchen (Donnerstag 07.04.2011)
Leana da Zwerg is in da house xD - Leana (Freitag 07.07.2006)
dark zwerg - dark zwreg (Donnerstag 14.06.2007)
Bewerbung vom Zwerg Priester - Anonymous (Donnerstag 13.07.2006)
Der Zwerg - nadine (Mittwoch 01.11.2006)
Abenteuer 13 - Zwischenspiel - Turm der Verdammten - Markus (Samstag 07.01.2012)
Der 8te Zwerg fordert euch heraus - <=HHG=>Der 8te Zwer (Montag 08.11.2004)
Der kleine grüne Zwerg - rene (Montag 11.06.2007)
Mein Zwerg suckt - Lord Stark (Mittwoch 10.05.2006)
