Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Suche » Suchergebnis » Hallo Gast [Anmelden|Registrieren]
Zeige Beiträge 1 bis 15 von 93 Treffern Seiten (7): [1] 2 3 nächste » ... letzte »
Autor Beitrag
Thema: SchieferWurf
Tommy1234

Antworten: 1
Hits: 7.337
SchieferWurf 31.10.2021 10:36 Forum: Praktische Informatik


Hallo kurze Frage,
möchte den schiefen wurf abhängig von der Gewichtskraft g = 9.81, der Anfangsgeschwindigkeit v0 = 15 und einem Winkel zwischen 0 un 90 Grad simulieren.

Bisher hab ich das:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
                double t = 0.0;
		double x = 0.0;
		double y = 0.0;
		
		vx = v0 * Math.cos(angle); gleichförmige Bewegung
		vy = v0 * Math.sin(angle); Anfangsgeschw
		
		t = (2*vy)/g; tgesamt
		
		x = vx * t; x-Richtung
		y = ((-g*x*x)/(2*vx*vx))+(vy/vx)*x; y-Richtung
		
		leftBullet.x = (int) x;
		leftBullet.y = (int) y;


nach dem abfeuern ist das geschoß weg. Wieso?
Thema: Anordung im feld
Tommy1234

Antworten: 3
Hits: 7.261
23.06.2021 16:59 Forum: Praktische Informatik


Allerdings abhängig von der jeweiligen Richtung...
Thema: Anordung im feld
Tommy1234

Antworten: 3
Hits: 7.261
23.06.2021 16:58 Forum: Praktische Informatik


Hi,habe das hinbekommen.

Orthogonal ist es ... new Point(i%3,i/3)
Diagonal ist es dann ... new Point((i%3)+(i/3),(i/3)-(i%3)).

Danke trotzdem fürs Interesse
Thema: Anordung im feld
Tommy1234

Antworten: 3
Hits: 7.261
Anordung im feld 05.05.2021 17:03 Forum: Praktische Informatik


Hie, ich habe ein paar einheiten auf einem spielfeld 2dimensionales grid und möchte die einheiten anordnen beim instanzieren. für nord süd ost und west hab ichs (x%3),(y/3) etc. wie geht das bei den diagonalen?

Danke für antworten
Thema: 4x4 Matrix invertieren von Hand
Tommy1234

Antworten: 1
Hits: 5.214
15.12.2019 22:34 Forum: Praktische Informatik


Musste von Hand invertieren. Gauß - Jordan . Danke trotzdem.
Thema: Clipping von Dreiecken im R3
Tommy1234

Antworten: 0
Hits: 3.445
Clipping von Dreiecken im R3 15.12.2019 22:32 Forum: Praktische Informatik


Hallo,

hab ne Frage zum Clipping.

Was macht man falsch wenn anstatt das was man sehen will ab und zu das nur geklippte Dreieck angezeigt und sofort wieder ausgeblendet wird?

Ich prüfe auf die near_plane 0.1 vorm Bildschirm. Also nicht die horizontalen seiten. Hab schon die normalen überprüft müsste aber stimmen. Wenn jemand Code sehen will zu viel zum posten sry einfach nen dc link ts link oder skype und ich schicks.

Bisher lad ich beliebige meshes(blender .obj) egal wie groß und kann die anzeigen naja ohne Inhalt( kein füllen). Die meshes sind simple Dreiecke und nicht mehr.

Das ganze ohne lib nur von Hand... .
Thema: Formationen
Tommy1234

Antworten: 2
Hits: 4.452
15.12.2019 22:21 Forum: Praktische Informatik


Hat sich erledigt
Thema: Formationen
Tommy1234

Antworten: 2
Hits: 4.452
20.11.2019 12:46 Forum: Praktische Informatik


nachtrag:

ich speichere jetz die gewünschte Formation abhängig von der benutzereingabe (button) in einer liste also z. B.

A A A A A A A
R R R R R R R
K K K K K K K

und übertrage diese dann auf die einehiten mal sehen obs klappt. Mehr Ideen hab ich grade nicht
Thema: Formationen
Tommy1234

Antworten: 2
Hits: 4.452
Formationen 19.11.2019 18:52 Forum: Praktische Informatik


Hallo,

ich möchte einheiten auf einem orthogonalen 2d Grid formatieren.

Tendenziell soll das ganze in Richtung aoe2 gehen.

Im Moment gehe ich das ganze so durch das ich aus einer liste die jeweilige id rausnehme also z.B. isses ein peasant oder ein Bogenschütze usw. und diese dann nachdem der erste am ziel angekommen ist abhängig von dessen Blickrichtung formatiere. Soll heißen milliz vorne dann nahkämpfer usw. und hinten die artillerie.
Das ganze bereitet mir allerdings Schwierigkeiten hinsichtlich der Überschaubarkeit und meinen symmetrievorstellungen ^^. Mal angenommen ich habe 5 millizen,die stehen, mit Blickrichtung nach oben, nebeneinander. Dahinter dann 3 Bogenschützen und dahinter dann drei Katapulte.

Meine Frage ist wie erzeugt man annähernd symmetrische reihen, ob nun einer fehlt oder nicht ist egal?
Und anhand welchen wertes entscheide ich wie breit eine reihe nun ist z.b 5 oder 10 in einer reihe ( bei mehreren einheiten)?


In meinem Beispiel wäre meine Absicht alles in 3er Reihen zu positionieren.

Also: 3 Millizen dahinter 2 millizen dahinter wiederum 3 Bogenschützen und wiederum hinter denen 3 Katapulte.

Hier mal etwas Codeunglücklich JAVA)

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:

if(winner != null) {
				
    entities.remove(winner);
				
    if(winner.path != null) {
        if(winner.path.size() == 0) {
	    if(winner.lastdirection==0) {
		while(!entities.isEmpty()) {
		    next = Collections.min(entities);
			if(next.type == "peasant") {
			    next.path = TiledMap.findPath((int)next.tileposition.x,(int)next.tileposition.y,(int)winner.tileposition.x+2,(int)winner.tileposition.y);
		        }
			if(next.type == "archer") {
				next.path = TiledMap.findPath((int)next.tileposition.x,(int)next.tileposition.y,(int)winner.tileposition.x%4,(int)winner.tileposition.y/4);
		        }
			winner = next;
			entities.remove(next);
		}
          }
     }
}

Thema: 4x4 Matrix invertieren von Hand
Tommy1234

Antworten: 1
Hits: 5.214
4x4 Matrix invertieren von Hand 08.08.2019 17:05 Forum: Praktische Informatik


Hallo,
die Überschrift sagt eig. Schon alles. Ich habe eine 4x4 Matrix und möchte nun die Inverse Matrix dazu berechnen. Normalerweise nimmt man das Gauß Jordan Verfahren dafür nur jede Matrix besteht aus anderen Werten und das macht kompliziert. Wikipedia sagt jeweils den Kehrwert der Diagonale bilden mit Beispiel, allerdings verstehe ich dann nicht woher das minus kommt. Desweiteren finden sich dort Formeln für 2x2 und 3x3 Matrizen aber Nicht für 4x4 Matrizen.

Kennt hier jemand eine Formel für die Berechnung der Inversen einer 4x4 Matrix?

Wäre für Hilfe dankbar,

Gruß Tommy
Thema: Algorithmus für Bewegungen
Tommy1234

Antworten: 5
Hits: 5.981
18.05.2019 09:27 Forum: Praktische Informatik


Ok. Habs. Geschlossen.
Thema: Array erstellen
Tommy1234

Antworten: 1
Hits: 3.800
14.05.2019 23:13 Forum: Praktische Informatik


Sind das wirklich 4 m² oder doch eher 40 m²?
Thema: Algorithmus für Bewegungen
Tommy1234

Antworten: 5
Hits: 5.981
13.05.2019 21:37 Forum: Praktische Informatik


Ich hab gerade erst die Tragweite meiner Frage verstanden.
Nach ein bisl googeln findet man ein paar bloqs und articles zu dem Thema. Dieses ist ziemlich komplex und vor allem die gruppenbewegung sowie Formationen sind alles andere als einfach zu implementieren. Deshalb hier die Frage:
Hat hier jemand gruppenbewegung sowie Formationen auf einem 2d grid schon mal implementiert oder das zumindest mal versucht hat und evtl ein paar Tipps dazu geben kann?
Thema: Algorithmus für Bewegungen
Tommy1234

Antworten: 5
Hits: 5.981
05.05.2019 21:21 Forum: Praktische Informatik


Hallo nochmal,

also sie laufen jetzt hintereinander her.
Ich denke, dass ich jetzt weiterkomme mit Formationen usw. . Danke für die Idee.
Thema: Algorithmus für Bewegungen
Tommy1234

Antworten: 5
Hits: 5.981
28.04.2019 11:17 Forum: Praktische Informatik


Hi danke für die Antwort.
Ich habs implementiert, das Problem an der Sache ist nur, dass der Pfad zur Laufzeit stets abgefragt werden muss , damit die nächste Einheit immer das letzte tile des Vorgängers als ziel hat. Und bei 12 Einheiten tut sich Garnichts mehr extreme laggs. Hier mal der Code:

zum Einen die Implementiterung der eigentlichen Bewegung:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:

public void move() {
		
		lastx = x;
		lasty = y;
		
		if(path != null) {
			if(path.size() > 0) {
				
				Tile tile = path.get(path.size()-1);
					
				int tx = Tools.toScreenX(tilex,tiley)-16;
				int ty = Tools.toScreenY(tilex,tiley);
					
				if(x < tx && y == ty) {
					x+=xspeed;
					direction = 2;
					move = getFrame(move,10,14,4);
					lasttilex = tilex-1;
					lasttiley = tiley+1;
				}
				
				else if(y < ty && x == tx) {
					y+=yspeed;
					direction = 4;
					move = getFrame(move,5,9,4);
					lasttilex = tilex-1;
					lasttiley = tiley-1;
				}
				
				else if(x > tx && y == ty) {
					x-=xspeed;
					direction = 6;
					move = getFrame(move,15,19,4);
					lasttilex = tilex+1;
					lasttiley = tiley-1;
				}
					
				else if(y > ty && x == tx) {
					y-=yspeed;
					direction = 0;
					move = getFrame(move,0,4,4);
					lasttilex = tilex+1;
					lasttiley = tiley+1;
				}
					
				else if(x < tx && y < ty) {
					x+=xspeed;
					y+=yspeed/2;
					direction = 3;
					move = getFrame(move,30,34,4);
					lasttilex = tilex-1;
					lasttiley = tiley;
				}
				
				else if(y < ty && x > tx) {
					x-=xspeed;
					y+=yspeed/2;
					direction = 5;
					move = getFrame(move,35,39,4);
					lasttilex = tilex;
					lasttiley = tiley-1;
				}
					
				else if(x > tx && y > ty) {
					x-=xspeed;
					y-=yspeed/2;
					direction = 7;
					move = getFrame(move,25,29,4);
					lasttilex = tilex+1;
					lasttiley = tiley;
				}
					
				else if(y > ty && x < tx) {
					x+=xspeed;
					y-=yspeed/2;
					direction = 1;
					move = getFrame(move,20,24,4);
					lasttilex = tilex;
					lasttiley = tiley+1;
				}
					
				else if(y == ty && x == tx){
					IsometricMap.tiles[tilex][tiley].setUnit(false);
					tilex = tile.getX();
					tiley = tile.getY();
					IsometricMap.tiles[tilex][tiley].setUnit(true);
					
					path.remove(tile);
				}
				
			}
			else {
				
				
				
			}
			
			//System.out.println(tilex + "   " + lasttilex + "   " + tiley + "   " + lasttiley);
		}
	}


und zum anderen die Koordination der Einheiten:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:

for(int i = 0;i<entities.size();i++) {
			for(int j = entities.size()-1;j>i;j--) {
				if(entities.get(i).marked) {
					if(MouseInput.right) {
						entities.get(i).mousex = entities.get(j).mousex = Game.rightx;
						entities.get(i).mousey = entities.get(j).mousey = Game.righty;
						
					}
					entities.get(i).path = IsometricMap.findPath(entities.get(i).tilex,entities.get(i).tiley,entities.get(i).mousex,entities.get(i).mousey);
					entities.get(j).path = IsometricMap.findPath(entities.get(j).tilex,entities.get(j).tiley,entities.get(j).mousex,entities.get(j).mousey);
					if(entities.get(i).path != null && entities.get(j).path != null) {
						if(entities.get(i).path.size() <= entities.get(j).path.size()) {
							entities.get(i).move();
							if(entities.get(i).tilex != entities.get(i).lasttilex || entities.get(i).tiley != entities.get(i).lasttiley) {
								entities.get(j).path = IsometricMap.findPath(entities.get(j).tilex,entities.get(j).tiley,entities.get(i).lasttilex,entities.get(i).lasttiley);
								entities.get(j).move();
							}
						}
						else if(entities.get(j).path.size() <= entities.get(i).path.size()) {
							entities.get(j).move();
							if(entities.get(j).tilex != entities.get(j).lasttilex || entities.get(j).tiley != entities.get(j).lasttiley) {
								entities.get(i).path = IsometricMap.findPath(entities.get(i).tilex,entities.get(i).tiley,entities.get(j).lasttilex,entities.get(j).lasttiley);
								entities.get(i).move();
							}
						}	
					}
				}
			}
		}



Wie erreicht man da niedrigere Frameraten ( denglisch XD).

Wäre für Hilfe dankbar.
Zeige Beiträge 1 bis 15 von 93 Treffern Seiten (7): [1] 2 3 nächste » ... letzte »