Lovetalk.de

Zurück   Lovetalk.de > >

Du befindest dich im Forum: Lounge. Smalltalk mit Sinn ist hier nicht nur erlaubt, sondern auch erwünscht. Hier können sich die User über ihre momentanen Befindlichkeiten austauschen und über Dinge des alltäglichen Lebens diskutieren. Smalltalk in seiner feinsten Form - aber trotzdem mit Sinn!

Thema geschlossen
 
Themen-Optionen
Alt 29.10.2017, 19:59   #1
Sportismylife
Sporty
 
Registriert seit: 01/2008
Beiträge: 8.345
Die LT Informatiker

Hallo!

Da ich immer wieder von Informatikern hier im LT höre - der Thread.

Zum Austausch und Smalltalk etc.

Auch interessierte Nicht-Informatiker sind gerne willkommen.

MfG
Sporty
Sportismylife ist offline  
Alt 29.10.2017, 19:59 #00
Administrator
Hallo Sportismylife, in jeder Antwort auf deinen Beitrag findest du eine Funktion zum Melden bei Verstössen gegen die Forumsregeln.
Alt 30.10.2017, 07:35   #2
mzzy
Junior Member
 
Registriert seit: 11/2016
Beiträge: 14
Worüber willst du dich denn austauschen?
Beitragsmeldung
Dieser Beitrag verstößt gegen die Forenregeln? Hier melden.
mzzy ist offline  
Alt 30.10.2017, 12:33   #3
Sportismylife
Sporty
Themenstarter
 
Registriert seit: 01/2008
Beiträge: 8.345
Ich habe da nicht an etwas spezielles gedacht. Dieser Thread soll einfach für alles was Informatik angeht da sein.

Aber wenn du schon so fragst...

Weißt du zufällig wie ich eine Circle & Circle Kollision realisiere?
Beitragsmeldung
Dieser Beitrag verstößt gegen die Forenregeln? Hier melden.
Sportismylife ist offline  
Alt 30.10.2017, 13:14   #4
Sportismylife
Sporty
Themenstarter
 
Registriert seit: 01/2008
Beiträge: 8.345
So Spiele programmieren ist ganz schön arbeit.
Beitragsmeldung
Dieser Beitrag verstößt gegen die Forenregeln? Hier melden.
Sportismylife ist offline  
Alt 30.10.2017, 13:21   #5
mzzy
Junior Member
 
Registriert seit: 11/2016
Beiträge: 14
Hab das mal auf die schnelle mit Pythagoras gelöst:

// Kreis 1 an Position x1/y1 mit Radius=r1
double x1 = 2;
double y1 = 2;
double r1 = 1;
boolean kollision = false;

// Annäherung Kreis 2 in 0.1er Schritten:

for (double i = 10; !kollision; i-=0.1 ) {


// Kreis 2 an Position x2/y2 mit Radius=r2
double x2 = i;
double y2 = i;
int r2 = 2;

// c = r1 + r2 + GAP

// Punkt F (xf/yf)
double xf = x2; // = 6
double yf = y1; // = 2

double a = xf - x1;
double b = y2 - yf;

System.out.println("a: " + a);
System.out.println("b: " + b);

// Laut Pythagoras: c^2 = a^2 * b^2

// WENN GAP <= 0 => Kollision

double cq = a * a + b * b;
double c = Math.sqrt(cq);

double GAP = c - r1 - r2;

if (GAP <= 0) {
kollision = true;
System.out.println("\n=> KOLLISION!!!");
} else {
System.out.println("\n=> KEINE KOLLISION!");
}
}
Beitragsmeldung
Dieser Beitrag verstößt gegen die Forenregeln? Hier melden.
mzzy ist offline  
Alt 30.10.2017, 13:22   #6
Sportismylife
Sporty
Themenstarter
 
Registriert seit: 01/2008
Beiträge: 8.345
Vorallem die Details.

Ich muss bald Explosionen realisieren.. mach ich da jetzt ne eigene Klasse oder implementier ich das in jeden Gegner
Beitragsmeldung
Dieser Beitrag verstößt gegen die Forenregeln? Hier melden.
Sportismylife ist offline  
Alt 30.10.2017, 13:23   #7
Sportismylife
Sporty
Themenstarter
 
Registriert seit: 01/2008
Beiträge: 8.345
Wow danke dir vielen Dank! Jetzt kanns ja weiter gehen
Beitragsmeldung
Dieser Beitrag verstößt gegen die Forenregeln? Hier melden.
Sportismylife ist offline  
Alt 30.10.2017, 13:24   #8
mzzy
Junior Member
 
Registriert seit: 11/2016
Beiträge: 14
Hier noch meine Skizze: https://i.imgur.com/pg7x72W.jpg
Beitragsmeldung
Dieser Beitrag verstößt gegen die Forenregeln? Hier melden.
mzzy ist offline  
Alt 30.10.2017, 13:29   #9
Sportismylife
Sporty
Themenstarter
 
Registriert seit: 01/2008
Beiträge: 8.345
Danke dir gleich erstmal alles gespeichert.
Beitragsmeldung
Dieser Beitrag verstößt gegen die Forenregeln? Hier melden.
Sportismylife ist offline  
Alt 30.10.2017, 13:35   #10
mzzy
Junior Member
 
Registriert seit: 11/2016
Beiträge: 14
Geht natürlich viel einfacher, du kannst einfach die Strecke zwischen den Mittelpunkten der Kreise berechnen (Vektor) und der muss größer als die Summe der beiden Radien sein:

// Kreis 1 an Position x1/y1 mit Radius=r1
double x1 = 2;
double y1 = 2;
double r1 = 1;
boolean kollision = false;

for (double i = 10; !kollision; i-=0.1 ) {


// Kreis 2 an Position x2/y2 mit Radius=r2
double x2 = i;
double y2 = i;
int r2 = 2;

double difference = Math.sqrt ((y1 - y2) * (y1 - y2) + (x1 - x2) * (x1 - x2));
double GAP = difference - r1 - r2;

if (GAP <= 0) {
kollision = true;
System.out.println("\n=> KOLLISION!!!");
} else {
System.out.println("\n=> KEINE KOLLISION!");
}
}
Beitragsmeldung
Dieser Beitrag verstößt gegen die Forenregeln? Hier melden.
mzzy ist offline  
Thema geschlossen

Ausgesuchte Informationen






Powered by vBulletin® Version 3.8.9 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Search Engine Optimisation provided by DragonByte SEO (Lite) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:52 Uhr.