AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ein bisschen lineare Algebra

Ein Thema von LDericher · begonnen am 1. Mär 2010 · letzter Beitrag vom 1. Mär 2010
Antwort Antwort
Seite 2 von 3     12 3      
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#11

Re: Ein bisschen lineare Algebra

  Alt 1. Mär 2010, 11:44
Leute, er will den Winkel alpha zwischen N und Z haben, nicht nur das argument von Z!
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#12

Re: Ein bisschen lineare Algebra

  Alt 1. Mär 2010, 11:46
Wenn einer der 2 Vektoren einer Achse entspricht, wo ist der Unterschied im Ergebnis?
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#13

Re: Ein bisschen lineare Algebra

  Alt 1. Mär 2010, 11:46
Zitat von gammatester:
Leute, er will den Winkel alpha zwischen N und Z haben, nicht nur das argument von Z!
Jetzt beruhige dich mal ein wenig.
Wenn den Vektor N wirklich komplett frei sein soll, würde ich für beide Vektoren den Winkel mit arctan2 ausrechnen und davon dann die Differenz nehmen. Skalarprodukt mit arccos ist hier weder notwendig noch zielführend da es ja immer den kleinsten Winkel zwischen 2 Vektoren zurückgibt.

Ich hätte da noch ne Anregung:
Zitat von LDericher:
1. Ich zeichne einen schwarzen Ring auf weißem Grund. (Canvas.Ellipse, temporäres BMP)
2. Ich durchlaufe die einzelnen Pixel vom Bild (im Moment noch über Canvas.Pixels, aber das werde ich noch rausoptimieren) und schreibe auf das Zielcanvas (das von der Form) den berechneten Farbwert, sofern ich kein weißes Pixel habe.
Das geht auch direkt: Prüfe ob der Radius (=> Pythagoras) zwischen einem inneren und einem äußeren Radius liegt
  Mit Zitat antworten Zitat
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#14

Re: Ein bisschen lineare Algebra

  Alt 1. Mär 2010, 11:55
Zitat von Medium:
Wenn einer der 2 Vektoren einer Achse entspricht, wo ist der Unterschied im Ergebnis?
Zumindest müßte man beide Winkel berechnen, etwa alpha := ArcTan2(vecN.X, vecN.Y) - ArcTan2(vecZ.X, vecZ.Y) , wobei das Problem mit Winkeln > 180° weiterhin zu beachten ist.
  Mit Zitat antworten Zitat
Benutzerbild von LDericher
LDericher

Registriert seit: 29. Jan 2007
Ort: Erkelenz
224 Beiträge
 
Delphi 7 Enterprise
 
#15

Re: Ein bisschen lineare Algebra

  Alt 1. Mär 2010, 11:56
Leute, kommt mal runter, es funktioniert
Angehängte Grafiken
Dateityp: bmp ring_814.bmp (97,6 KB, 22x aufgerufen)
"Clicking this button you agree with our Verantwortungsverzicht und Abkommen."
Zitat von Ein unentschlossener Programmierer:
Enabled:=true or false or true or false or true or false;
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#16

Re: Ein bisschen lineare Algebra

  Alt 1. Mär 2010, 11:58
Zitat von LDericher:
Leute, kommt mal runter, es funktioniert
Dein "Grün" ist aber reichlich fad
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#17

Re: Ein bisschen lineare Algebra

  Alt 1. Mär 2010, 12:00
Nix, hier geht's um's Prinzip! (schaut aber nett aus)

Den Winkel des (hier fixen) achsengleichen Vektors braucht man doch garnicht aufwendig zu berechnen, er ist ja bekannt und kann locker als Konstante addiert/subtrahiert werden. Das ist hier natürlich ein Spezialfall, keine Frage!
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von LDericher
LDericher

Registriert seit: 29. Jan 2007
Ort: Erkelenz
224 Beiträge
 
Delphi 7 Enterprise
 
#18

Re: Ein bisschen lineare Algebra

  Alt 1. Mär 2010, 12:32
Zitat von jfheins:
Zitat von LDericher:
Leute, kommt mal runter, es funktioniert
Dein "Grün" ist aber reichlich fad
Oha! Du hast recht, ist mir gar nicht aufgefallen zuerst - und das ist leider wichtig für die Funktion des Ganzen...

Wie krieg ich das Grün denn hier rein?

Delphi-Quellcode:
function TColorRing.getColor(X, Y: integer): TColor;
var
  Angle:integer;
  R,
  G,
  B:Byte;
begin
Angle:=Self.getAngle(X, Y);
if(Angle in [0..119])then
  begin
  R:=255;
  G:=trunc(255*Angle/119);
  B:=0;
  end
else if(Angle in [120..239])then
  begin
  dec(Angle, 120);
  R:=trunc(255*(119 - Angle)/119);
  G:=trunc(255*(119 - Angle)/119);
  B:=trunc(255*Angle/119);
  end
else
  begin
  dec(Angle, 240);
  R:=trunc(255*Angle/119);
  G:=0;
  B:=trunc(255*(119 - Angle)/119);
  end;
Result:=RGB(R, G, B);
end;
"Clicking this button you agree with our Verantwortungsverzicht und Abkommen."
Zitat von Ein unentschlossener Programmierer:
Enabled:=true or false or true or false or true or false;
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#19

Re: Ein bisschen lineare Algebra

  Alt 1. Mär 2010, 12:39
http://de.wikipedia.org/wiki/HSV-Far...ung_HSV_in_RGB
Mit S = V = 1 und H = alpha
=> p=0; q=1-f; t=f
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.762 Beiträge
 
Delphi 11 Alexandria
 
#20

Re: Ein bisschen lineare Algebra

  Alt 1. Mär 2010, 12:42
Abschließend und leicht OT würde ich gerne festhalten, daß dieses Thema IMHO nicht die lineare Algebra betrifft, sondern die Trigonometrie

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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:30 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