Entwickler-Ecke

Programmiersprachen (Client) - Formel gesucht


ALF - Sa 15.10.22 21:47
Titel: Formel gesucht
Hallo

Ich arbeite gerade an ein neuem Web Projekt und bräuchte mal Hilfe für eine Formel, für das im Anhang angefügte Projekt.
das Original stammt von https://codepen.io/desandro/pen/wjeBpp

Genauer:
Wenn die Webseitenbreite kleiner wird, soll auch das 3D Objekt schmaler werden!
Hört sich einfach an, ist es meines erachten aber nicht. Jedenfalls nicht für mich!

Ich hab einfach keine Idee mehr :roll:

Mathematik ist auch nicht meine stärke! :oops:
Darum der Post hier. Hab lange einiges versucht aber nix hinbekommen.

Ich Hoffe ihr könnt mir da Helfen.
Gruß Alf


ALF - Mo 17.10.22 10:27

Ok, ich versuch mal mehr Details einzubringen.
Grundlage:

Quelltext
1:
2:
cellwidth, cellheight, cellabstand = fix, werden nicht verändert zur Laufzeit. Beeinflussen den Radius.
cellcount < 5 bleibt Perspective = 1000 und muss nicht berücksichtigt werden.

Ab cellcount 5 - 15 verändert sich der Radius (Durchmesser = r*2).
Entspricht leider keinen Pixelwert um für mich sinnvoll zu arbeiten?!
Erkennbar z.B. cellcount 15, radius ca 490 (d ca 980), body hat Breite vom Object, aber nur 760px.

Nun meine empirischen Versuche.
Versuch 1:

Quelltext
1:
2:
3:
4:
html body 320px width, 
cellcount = 5, sollte Perspective nicht größer sein als 410, 
cellcount = 10, sollte Perspective nicht größer sein als 100,
cellcount = 15, sollte Perspective nicht größer sein als 60,

Versuch 2:

Quelltext
1:
2:
3:
4:
html body 500px width,
cellcount = 5, Perspective = 1000, 
cellcount = 10, sollte Perspective nicht größer sein als 570,
cellcount = 15, sollte Perspective nicht größer sein als 250,

Ab html body < 750px, spielt es keine Rolle mehr, Perspective = 1000.
Es sei den man verändert cellgröße und cellabstand.

Nun gut, man könnte natürlich das ganze im Javascript mit mehreren if window.innerwidth und if cellcount verwenden
oder mit css device-width und dann unterschiedliche css laden.
Währe eine Notlösung wenn ich keine Formel erfinden kann!

Aber vielleicht erkennt ein anderer anhand der Daten wie man es evtl. lösen kann und kann helfen?

Gruß alf

Moderiert von user profile iconTh69: Code-Tags hinzugefügt