Autor |
Nachricht |
out
Threadersteller
Dabei seit: 14.11.2002
Ort: koblenz
Alter: 39
Geschlecht:
|
Verfasst Mi 02.03.2005 22:34
Titel applikation zur volumenmessung programmieren |
|
|
hi leute,
folgendes problem: anhand eines splines soll das volumen des drehobjekts diesen splines festgestellt werden.
dh, nehmen wir mal an ich erstelle in c4d einen spline (rot) den ich mit einem lathenurbs (grau) belege (1).
begrenzt durch vertikale drehachse und horizontalen radius (beides blau) ergibt sich eine fläche (2) die ein segment des drehkörpers bildet. in scheiben aufgeteilt (grün) kann man anhand der breite jeder einzelnen scheibe (radius der jeweiligen stelle im gesamten körper) und der variablen höhe der scheibe das volumen bestimmen. tut man dies für jede einzelne scheibe udn addiert die ergebnisse, so erhält man ein je nach anzahl der scheiben mehr oder weniger exaktes volumen für den gesamten köper
ist das über coffee (c4d) oder javascript (illustrator) umsetzbar? als trägerprogramm hätte ich illustrator 10, freehand 10, corel draw 11 oder c4d 9 anzubieten. ich suche also gute tuts oder codereferenzen für die besagten sprachen (was unterstützt corel bzw. freehand 10???)
sorry, für die schlechte darstellung, habe es mal eben in freehand gezogen und blöd abgespeichert
|
|
|
|
|
Account gelöscht
Ort: -
Alter: -
|
Verfasst Do 03.03.2005 11:14
Titel
|
|
|
Ähhh uff nee, das ist mir zu hoch *doofguck*. Die mathematische Lösung würde mich aber interessieren! Muss mal auffrischen
|
|
|
|
|
Anzeige
|
|
|
Skyw4lker
Dabei seit: 30.08.2004
Ort: Bergisch Gladbach
Alter: 43
Geschlecht:
|
Verfasst Do 03.03.2005 11:46
Titel
|
|
|
hm musst mal schauen was die math. bibliothek von jscript hergibt, du brauchst ja die Funktion für Integrale über
Rotationskörper, dh. Aufleiten und dann mit pi^2 mal nehmen, war das glaub ich...
Ist aber schon lange her, also keine garantie =)
|
|
|
|
|
gtz
Dabei seit: 15.04.2002
Ort: -
Alter: 48
Geschlecht:
|
Verfasst Do 03.03.2005 12:25
Titel
|
|
|
integrale für rotationskörper sind dein freund.
sofern du den querschnitt des rotationskörpers durch eine funktion beschreiben kannst. anderenfalls bleiben dir nur näherungsverfahren, die mehr oder minder genau sind.
edit: 1. google-treffer: http://sites.inka.de/picasso/Voelker/rauminh.htm
Zuletzt bearbeitet von gtz am Do 03.03.2005 12:26, insgesamt 1-mal bearbeitet
|
|
|
|
|
Account gelöscht
Ort: -
Alter: -
|
Verfasst Do 03.03.2005 13:16
Titel
|
|
|
Posten posten posten!!!!!
|
|
|
|
|
swish
Dabei seit: 01.07.2003
Ort: timbuktu
Alter: 39
Geschlecht:
|
Verfasst Do 03.03.2005 13:38
Titel
|
|
|
über integrale wird es wohl kaum umzusetzen sein da ich meine funktion nicht beschreiben kann (angenommen ich gehe von einem rundlichen tontopf aus). bei entsprechend vielen scheiben kann ich das volumen schon relativ genau feststellen, was für meinen zweck allerdings ncith erforderlich ist. sagen wir mal ich teile meine grundfläche in scheiben, die gerade mal 0,05 mm groß sind, das würde für ein 15-cm hohes gefäß 3000 segmente ergeben, also ebenso viele mathematische rechenoperationen für den rechner, wäre das mit der leistung eines durchschnittlichen rechners zu schaffen?
und ich suche immernoch gute codereferenzen!
konzept:
- es werden die beiden endpunkte einer offenen kurve ermittelt, daraus errechnet sich der schnittpunkt dieser. damit hätte man eine geschlossene fläche
- diese fläche wird in zylindrische scheiben aufgeteilt, die scheibenhöhe ist variabel und erfolgt über ein eingabefenster-das bestimmt die genauigkeit der rechnung.
- mit den vorhandenen werten wird weiter gerechnet, also "pi"*radius(breite jeder scheibe)^2*höhe der scheibe
- das ganze erfolgt über schleife für alle anderen zylinder und wird jeweils zum vorhergehenden ergebnis addiert
so habe ich mir das vorgestellt. gibt es einen deutschsprachige dokumentation zum scriptographer (www.scriptographer.com)?
|
|
|
|
|
out
Threadersteller
Dabei seit: 14.11.2002
Ort: koblenz
Alter: 39
Geschlecht:
|
Verfasst So 06.03.2005 23:05
Titel
|
|
|
habe mich gerade mit scriptographer und javascript im illustrator geplagt, es funktioniert schon ansatzweise - bin eben kein coder.
Code: | var segmentheight = prompt("enter value",
{type: "number", value: 1, title: "segment-height:", width: 70});
var objectheight = 20;
var aktradius = 2;
var segmentnumber = objectheight / segmentheight;
var i = segmentheight;
if (segmentheight <= 0) {
alert ("Invalid segment-height value. Try again!");
}
while(i < objectheight) {
var aktissue = aktradius * aktradius * Math.PI * segmentheight;
i = i + segmentheight;
}
alert (aktissue);
|
die variable segmentheight liefert über ein formular den wert für die höhe der einzelnen zylindersegmente. objectheight wird später anhand der xy-koordinaten im dokument dynamisch berechnet und gibt die höhe der drehkontur an. die variable aktradius enthält den dynamisch ermittelten radiuswert für jedes einzelne zylindersegment. segmentnumber berechnet die anzahl der zylindersegmente in der objekthöhe - es sit vorerst irrelevant. die variable i ist der zähler der folgenden schleife, dieser ist mit der segmenthöhe gleichgesetzt, das brauche ich später für die abbruchbedingung der schleife.
die if-else-bedingungen können erstmal ausgeklammert werden, sie dienen lediglich der prüfung von eingegebenen werten (null und minuswerte werden damit verhindert - bzw es kommt eine entsprechende meldung)
nachfolgend wird eine while-schleife eröffnet, die abbruchbedingung besteht darin, dass die variable i bei jedem schleifendurchgang um den wert der segmenthöhe erhöht wird bis die variable i den wert von segmentheight erreicht (in dem fall 20 cm) - das bricht dann die schleife ab. doch vorher findet die eigentlich volumenberechnung für jeweils ein zylindersegment statt (radius zum quadrat * pi * segmenthöhe). zu guter letzt wird das ergebnis mittels alertfenster ausgegeben.
der fehler sit mir bewusst - die variable aktissue wird bei jedem schleifendurchgang mit dem aktuell ermittelten wert für unterscheidliche radien (zum beispiel bei einem konischen glas) überschrieben. wie kann ich den wert von aktissue zwischenspeichern und jeweils zum erneut ermittelten addieren damit ich schließlich das komplette körpervolumen erhalte?
ferner kann die programmzeile Code: | i = i + segmentheight; | auch ncith stimmen, da ich bereits beim ersten schleifendurchgang einen doppelten wert erhalten würde, der wert soll sich jedoch nur jedesmal verdoppeln.
ich hoffe ich amche mich damit ncith lächerlich, aber wie kann man das lösen? als ergebnis bekomme ich lediglich das volumen für jedes segment abhängig von der eingegebenen höhe. die schleife soll breaken wenn die körperhöhe von 20 cm erreicht wird.
danke
|
|
|
|
|
swish
Dabei seit: 01.07.2003
Ort: timbuktu
Alter: 39
Geschlecht:
|
Verfasst Mo 07.03.2005 11:48
Titel
|
|
|
*räusper*
|
|
|
|
|
|
|
|
Ähnliche Themen |
Software/Applikation für Bilderrahmen
suche xampp-applikation: webseiten auf änderungen überprüfen
CD Programmieren!
Design programmieren wie?
Taschenrechner mit php programmieren
Karrierebereich programmieren
|
|