WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Seitenansicht Auto bewegen

 

Max

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.10.2007, 22:14     Titel: Seitenansicht Auto bewegen
  Antworten mit Zitat      
Hallo Forum,

ich möchte folgende Sache umsetzen und such nach allgemeinen Idee für eine schöne und doch einfache Umsetzung.

Ein Auto in der Seitenansicht möchte ich in groben Formen zeichnen und nicken lassen. D.h. ich möchte über zwei Y-Vorgaben die Einfederung am vorderen und hinteren Rad darstellen.

Das sich der Abstand der beiden X-Punkte bei großen Y-Werten verändert ist mir bewusste aber würde dies gern vernachlässigen. Es soll sich um kleine Bewegungen handeln.

Reifen möchte ich auch keine zeichnen sondern nur eine grobe Autoseitenansicht.

Wie bereits gesagt, möchte keine fertige Lösung sondern allgemein Ideen und Vorschläge.

Grüße Max


Bijick
Ehrenmitglied

Ehrenmitglied



Beiträge: 914
Anmeldedatum: 18.06.07
Wohnort: Nürnberg
Version: R2006b, R2008b
     Beitrag Verfasst am: 23.10.2007, 17:19     Titel:
  Antworten mit Zitat      
Hallo Max,

das ist ja eine lustige Idee. Very Happy Ich würde mit dem patch-Befehl arbeiten, um die Seitenansicht zu modellieren. Dabei kann man Ecken und Flächen definieren, die dann als ausgefüllte Polygone gezeichnet werden. (Mit vielen Ecken sind auch Rundungen möglich.)

Dann könnte man die Ecken sortieren nach vorn und hinten. Soll das Auto vorn nicken, gibt man einen Offset auf die vorderen Ecken, der in der Größenordnung vom Abstand der x-Werte zwischen der Ecke und dem vorderen Reifen abhängt.

In einer Schleife müsste man dann die vorhandenen Flächen löschen und die neuen zeichnen.

Das Problem ist (wie Du schon angedeutet hast), dass sich die Flächen so verziehen (Scherung) und nicht um einen Punkt drehen. Aber vielleicht ist das für Deinen Zweck ja auch nicht so wichtig.

Soweit meine Ideen. Herzliche Grüße
Bijick
_________________

>> why
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Max

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.11.2007, 22:21     Titel:
  Antworten mit Zitat      
Hallo Bijick,

das Projekt ist noch nicht gestorben, ich bin immer noch fleißig am Kämpfen.
Aber jetzt brauch ich so langsam mal eine Visualisierung meiner "Nickdaten".

Ich habe es nun von der technischen Seite her wie folgt umgesetzt:
- einen Polygonzug mit zwei Vektoren aufgebaut der so aussieht wie ein Auto (dies mit dem patch-Befehl gezeichnet)
- die Vektoren auf die einzelnen Punkte lass ich nun mit einer Drehmatrix in die gewünschte Position nicken. So gibt es keine Verzerrung.

Aber jetzt die Frage, ich möchte das gern über einige Sekunden nicken lassen. Wie lösche ich jede einzelne Zeichnung wieder oder muss ich mit weiß drüberzeichnen?

Grüße Max
 
outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 27.11.2007, 23:05     Titel:
  Antworten mit Zitat      
Zitat:
Wie lösche ich jede einzelne Zeichnung wieder oder muss ich mit weiß drüberzeichnen?

Du brauchst weder drüberzeichnen, noch löschen!
Du musst einfach die XData, YData (ggbf. ZData) des vorhandenes Patches mit SET überschreiben. Somit ist es ressourcensparender, und die Animation flimmert nicht.


MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Max

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.11.2007, 00:52     Titel:
  Antworten mit Zitat      
Entweder es ist heute schon deutlich zu spät oder oder ich versteh den Ablauf nicht so ganz.

Alles was du mir geschrieben hast hab ich verstanden und klingt logisch.

Meine Vorgehensweise war nun wie folgt.

Einmal den patch-Befehl normal ausführen.
Code:


Anschließend eine Schleife aufbauen, in der x und y sich verändern udn zusätzlich in die Schleife dies:
Code:
   set(gcf,'XData',xneu)
    set(gcf,'YData',yneu)
    pause(0.5)


Ist das total falsch?

Selbst mein MATLAB-Buch gibt mir nicht mehr her. Dort sind nur Beispiele für Achsen-Beschriftung usw. Aber nicht für Daten erneuern.

Vielen dank für deine Hilfe, komme leider wirklich gerade nicht ohne weiter. Sad

Gruß Max
 
outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 28.11.2007, 09:21     Titel:
  Antworten mit Zitat      
zuerst
Code:

figure(1)
clf
h = patch(x,y,tcolor)

und dann in der Schleife
Code:

set(h,'XData',xneu,'YData',yneu)
pause(0.5)




MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Max

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.12.2007, 00:08     Titel:
  Antworten mit Zitat      
Vielen Dank outsider das hat mich schon mal viel weiter gebracht.

Hab jetzt noch ein kleines Problem, wie kann ich mehrere Polygone zeichnen?

Wenn ich die Polygone nach einander mit patch anzeige, dann sieht es aus als würde es flackern weil er ja immer wieder das andere löscht wenn er das neue plotet.

Mach ich die kompletten Daten in eine Ausgabe dann sind es keine zwei Polygone mehr und er verbindet sie.

Wäre klasse wenn du darauf auch noch ne Antwort hast Very Happy

Gruß Max
 
outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 02.12.2007, 01:20     Titel:
  Antworten mit Zitat      
Zitat:
Hab jetzt noch ein kleines Problem, wie kann ich mehrere Polygone zeichnen?

Alle zusammen und auf einmal!
zB folgender Aufruf zeichnet 2 Polygone...
>> h = patch([0 3 3 0 ; 4 7 7 4]',[0 0 2 2 ; 0 0 2 2]',[1 0 0])

Somit kann Du in einem Schritt XDATA und YDATA für mehrere Polygone auf einmal ändern, somi wird kann das Flackern minimiert werden.


MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Max

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.12.2007, 02:00     Titel:
  Antworten mit Zitat      
*g* Selbst nachts um kurz nach 0 Uhr ist outsider für mich da Smile Danke!

Ja dein Befehl stimmt, aber der geht leider nur für Polygone die die selbe Länge von Vektoren haben.

Aber ich hab den Hauptgrund vom Flackern gefunden Wink Ich Depp hatte die Einstellungen für den patch befehl auch zweimal aufgeführt. *grrrr* Jetzt ist es weg, aber bei großen Berechnungen könnte es eventuell doch noch kommen.

Aber vorerst GELÖST.

Danke nochmal!

Grüße Max
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.