POVRAY - Figuren modellieren - Fragen

  • Wahrscheinlich eine dumme Frage, aber ich stehe ziemlich auf der Leitung:
    das Körper-Makro wird bei mir mit den Parametern aufgerufen: Korper(0.454, 0.289, 0.22, 0.316, 0.285, 0.801, 0.229, true).
    Angenommen steht dann in der Angabe unter Ausmaßen:
    Podest Breite (2*w0): 0.8.
    2*0.454 ergibt aber 0.908.
    Heißt es, dass den ersten Wert (r0) so anpassen muss, dass die Breite 0.8 beträgt? Also einfach im Makro r0 mit 0.4/0.454 zu multiplizieren?
    Wenn ja: wieso sind dann die Parameter genau so ausgewählt, dass es viele unschöne Zahlen entstehen?


    //edit: ok, kenne mich schon aus.

  • muss die kugel im kopf der dame eigentlich das trapez in einem punkt schneiden? falls ja müsst man sich das halt ausrechnen...


    Würde mich auch brennend interessieren - also müssen die Schnitte aus den Skizzen exakt so nachgerechnet bzw modelliert werden mit unseren Werten? Oder kann man das per Augenmaß machen?

  • Hab Probleme beim läufer mit dem skalieren der Kugel. (Auch wenn nicht gefordert ... für die weiteren Schritte und zur Orientierung brauch ich's.)
    Habe für den Läufer eine Kugel mit dem Radius 0.222 erstellt und mit scale<1,1.15,1> skaliert. Das ding ist nun wenn ich die Kugel bei GESAMTHÖHE_BIS_ZUM_NACKEN + 0.222*1.15 = GESAMTHÖHE_BIS_ZUM_NACKEN + 0.2553 setze, dann ist es nicht so, dass sie gerade noch den Körper berührt sondern ein gutes Stück darüber steht. Das dürfte doch nicht sein, oder?


    Es ist sogar so, dass die Kugel unskaliert bei GESAMTHÖHE_BIS_ZUM_NACKEN + 0.222 den Körper gerade eben berührt. Skaliere ich um 1.15 steht sie ein fettes Stück weiter oben. (Und nicht bisschen im Körper drin wie erwartet)

  • [...] Skaliere ich um 1.15 steht sie ein fettes Stück weiter oben. (Und nicht bisschen im Körper drin wie erwartet)


    Das wurde auch in der VO behandelt. Wenn das Objekt nicht(!) im Ursprung skaliert wird, wird es sowohl skaliert als auch verschoben.
    Z.B. eine Line der Länge 1 mit den Endpunkten (1,1) und (2,1) besitzt nach der Skalierung mit 0.5 die Koordinaten (0.5, 0.5) und (1, 0.5), sowie die Länge 0.5. Da also der Skalierungsfaktor <1 ist, wird das Objekt in Richtung des Ursprungs verschoben.

  • Hallo,


    ich habe ein Problem bei der IF Anweisung in korper.pov


    hab das Problem dass immer die Fehlermeldung "no matching } in 'object' " kommt sobald ich mich an einer if-anweisung versuche.
    habe bereits versucht die if-anweisung innerhalb des ersten lathe objects in korper.pov zu deklarieren und auch außerhalb es kommt immer diese Fehlermeldung...
    die Punkte die ich unter halb vom linear_spline festlege passen von ihrer Anzahl her auch mit der bei linear_spline angegebenen Punktanzahl überein.


    komm mir scho leicht doof vor weil ich an dem Problem jetzt schon 2 Stunden häng :P


    Gibts da irgendwelche Dinge auf die man besonders achten sollte bei IF-Anweisung deklarieren in Pov Ray oder hatte jmd ein ähnliches Prob?

  • ist es normal, dass Dame allein und in der Ausstellung so unterschiedlich aussehen? nachtrag: Köpfe von Türmen schauen in der ausstellungsansicht auch anders aus.


    ok, etwas läuft bei mir grundsätzlich falsch.
    chessboard.png
    Kann jemand sagen, wo ich anfangen soll, nach den Fehlern zu suchen?
    // Edit: problem gefunden und gelöst :shiner: Die Frage in #49 ist allerdings immer noch aktuell (Köpfe von Türmen und Damen sehen unterschiedlich aus in der Aufstellung und in einer orthographischen Projektion
    chessboard.pngturm.png

  • Das klingt so als hättest du irgendwo eine schließende Klammer '}' vergessen...


    Nein (leider) definitiv nicht^^



    So sieht mein Code grob aus, wenn in der if-Anweisung nix drinsteht ist alles wunderbar, aber wenn ich den Code mit befüllter If-Anweisung (wie in gepostetem Snippet) laufen lasse
    kommt inzwischen "No matching } in 'lathe', lathe found instead"...grad am durchtüfteln von dokus / dankbar für alle hints ;)

  • [...]So sieht mein Code grob aus, wenn in der if-Anweisung nix drinsteht ist alles wunderbar, aber wenn ich den Code mit befüllter If-Anweisung (wie in gepostetem Snippet) laufen lasse
    kommt inzwischen "No matching } in 'lathe', lathe found instead"...grad am durchtüfteln von dokus / dankbar für alle hints ;)


    Das Problem ist, dass du zwei lathe Objekte verschachtelst, d.h. du definierst das 2. Objekt innerhalb des 1., bevor das 1. geschlossen wurde.

  • Funktioniert auf diese Art, also ohne Verschachtelung leider auch nicht (No matching } in 'object', lathe found instead)



    ist mir echt ein Rätsel weil die Klammern werden alle geschlossen bei mir...und das Problem ist anscheinend echt nur das was in der if-Anweisung steht, wenn nix in if anweisung drinsteht läufts wunderbar

  • Eine Antwort mal: 1) Du machst ein Objekt in einem Objekt, was nicht funktioniert. Du musst ein Objekt abgeschlossen haben um ein neues Objekt zu machen.
    2) Ein vergleich auf true ist einfach nur schrecklich! "Ausdruck = true", ergibt einem die selbe Evaluation wie gleich nur "Ausdruck". (Ein vergleich zwischen 2 Booleans ergibt mir wieder einen Boolean. Also warum nicht gleich nur einen Boolean verwenden).


    Und gleich noch eine Frage:
    Was will mir dieser Satz hier in der Angabe sagen? "Die Hoehe soll eine uniforme Skalierung des ganzen Koerpers erzwingen."

    Mit Leib und Seele Programmierer mit Delphi

  • Funktioniert auf diese Art, also ohne Verschachtelung leider auch nicht (No matching } in 'object', lathe found instead)



    ist mir echt ein Rätsel weil die Klammern werden alle geschlossen bei mir...und das Problem ist anscheinend echt nur das was in der if-Anweisung steht, wenn nix in if anweisung drinsteht läufts wunderbar


    Das Problem jetzt ist, dass du zwei separate Objekte in einem Macro definiert hast, die solltest du jetzt noch vereinigen ;).

  • Funktioniert auf diese Art, also ohne Verschachtelung leider auch nicht (No matching } in 'object', lathe found instead)



    ist mir echt ein Rätsel weil die Klammern werden alle geschlossen bei mir...und das Problem ist anscheinend echt nur das was in der if-Anweisung steht, wenn nix in if anweisung drinsteht läufts wunderbar


    Ich habe es so gelöst, damit es nur aus einem Lathe-Objekt besteht:



    LG