AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Partikel in bestimmtem Winkel erzeugen
Thema durchsuchen
Ansicht
Themen-Optionen

Partikel in bestimmtem Winkel erzeugen

Ein Thema von igel457 · begonnen am 11. Dez 2006 · letzter Beitrag vom 11. Dez 2006
Antwort Antwort
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#1

Partikel in bestimmtem Winkel erzeugen

  Alt 11. Dez 2006, 20:11
Hallo,

ich stehe vor einem Problem:

In meiner Partikelengine möchte ich Partikel nur in eine bestimmte Richtung abstrahlen. Momentan erzeuge ich die Partikel folgendermaßen:

Delphi-Quellcode:
var l:double;
begin
  with FDir do
  begin
    X := 180-random(360);
    Y := 180-random(360);
    l := Sqrt(Sqr(X)+Sqr(Y));
    X := X / l;
    Y := Y / l;
  end;
end;
Ich erzeuge einen Vektor und normalisiere diesen, um die Partikel praktisch "kreisförmig" abzustrahlen. Aufgrund der Normalisierung bringt es auch nicht viel an den so viel versprechenden Werten 180 oder 360 rum zu spielen.

Wie meine Winkelangabe aufgebaut ist, habe ich nochmal an einem kleinen Beispiel im Anhang verdeutlicht.

Hat jemand eine Idee, wie ich dies realisieren könnte? (Ich bin leider erst in Klasse 10. und kenne mich mit Vektorrechnung nicht so 100% aus.)

Schonmal Danke,
Igel457
Miniaturansicht angehängter Grafiken
question1_195.png  
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
BenjaminH

Registriert seit: 14. Okt 2004
Ort: Freiburg im Breisgau
713 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Partikel in bestimmtem Winkel erzeugen

  Alt 11. Dez 2006, 20:25
tan(alpha) gibt dir die Steigung eines solchen Strahles an, das ist genauer als wenn du das mit Pythagoras zu lösen versuchst.
Benjamin
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Partikel in bestimmtem Winkel erzeugen

  Alt 11. Dez 2006, 20:34
Ähm...
Kannst du das nochmal genauer erkären? Ich verwende den Pythagoras duch nur, um meinen Vektor zu normalisieren. Das soll auch mit Tangens gehen?
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#4

Re: Partikel in bestimmtem Winkel erzeugen

  Alt 11. Dez 2006, 20:38
Hm, machs doch einfach so:
Delphi-Quellcode:
Alpha := Random * 2 * Pi;
X := cos(Alpha);
Y := sin(Alpha);
Bereits normalisiert und natürlich über Alpha extrem leicht anpassbar.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Partikel in bestimmtem Winkel erzeugen

  Alt 11. Dez 2006, 21:27
Zitat von Khabarakh:
Hm, machs doch einfach so:
Delphi-Quellcode:
Alpha := Random * 2 * Pi;
X := cos(Alpha);
Y := sin(Alpha);
Bereits normalisiert und natürlich über Alpha extrem leicht anpassbar.
Ok, jetzt hab ichs hinbekommen.

Delphi-Quellcode:
var alpha,max,min,h : double;
begin
  with FDir do
  begin
    max := (CreationAngle+CreationAngleOpen / 2) * PI / 180;
    min := (CreationAngle-CreationAngleOpen / 2) * PI / 180;
    Alpha := Random * (max-min)+min;
    X := cos(Alpha);
    Y := sin(Alpha);
  end;
end;
Danke an alle
igel457
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#6

Re: Partikel in bestimmtem Winkel erzeugen

  Alt 11. Dez 2006, 21:39
Oder für die Schreibfaulen :
Alpha := Offset + Open * (Random - 0.5);
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz