***Simple Reliability Slot Calculator Example*** ---- This page is under development. Comments are welcome, but please load any comments in the comments section at the middle of the page. Thanks,[gold] ---- [gold] Here is an eTCL script on to estimate reliability. For the push buttons, the recommended procedure is push testcase and fill frame, change first three entries a,b,c with always a>b, push solve, and then push report. Report allows copy and paste from console, but takes away from computer "efficiency". ---- In planning any software, there is a need to develop testcases to test the software. Always a>b. Testcase 1. Testcase 2. Testcase 3. ---- ***Screenshots Section*** ---- '''Comments Section''' Please place any comments here, Thanks. ---- ***References:*** * http://www.csgnetwork.com/areaellipse.html * http://easycalculation.com/area/ellipse.php * http://www.cleavebooks.co.uk/scol/callipse.htm ---- ****Appendix Code**** ****appendix TCL programs and scripts **** ---- ****Pretty Print Version *** ====== #pretty print from autoindent and ased editor # ellipse properties # written on Windowws XP on eTCL # working under TCL version 8.5.6 and eTCL 1.0.1 # gold on TCL WIKI , 18aug2010 frame .frame -relief flat -bg aquamarine4 pack .frame -side top -fill y -anchor center set names {{} {semimajor length a:} {semiminor length b:} {ellipsoid length c :} {area:} {length betw. foci:}} foreach i {1 2 3 4 5 6 7} { label .frame.label$i -text [lindex $names $i] -anchor e entry .frame.entry$i -width 35 -textvariable side$i grid .frame.label$i .frame.entry$i -sticky ew -pady 2 -padx 1 } proc about {} { set msg "Calculator for Ellipse Properties. from TCL WIKI, written on eTCL " tk_messageBox -title "About" -message $msg } proc pi {} {expr acos(-1)} proc ellipse5 { xx1 } { global side1 side2 side3 global side4 side5 side6 side7 set ss side1 set tt $side2 set cc [ expr { $side1*$side1- $side2*$side2 } ] set cc [ expr { sqrt($cc) } ] set term1 [ expr { ($side1*$side1+ $side2*$side2) /2. } ] set perimeterx [ expr { 2.*[pi]*sqrt($term1)} ] set area1 [ expr { 1.*[pi]*$side1*$side2 } ] set xxx [ expr { $side4*[pi]/180. } ] set side4 $area1 set side5 [expr { 2.* $cc } ] set side7 [ expr { 1.*$cc/$side1 } ] set rr [ expr { $cc/$side1 } ] #set side7 [ expr { ((2.*[pi] *$side1*$side2)*(1.*$side2/$side1+($side1/$cc)*asin($rr)))} ] set side6 $perimeterx return $side7 } proc calculate { } { global colorwarning global colorback global answer2 answer3 global side1 side2 side3 side4 side5 side6 side7 set answer2 5 set answer2 [ ellipse5 $side1 ] set side7 $answer2 } proc fillup {aa bb cc dd ee ff gg} { .frame.entry1 insert 0 "$aa" .frame.entry2 insert 0 "$bb" .frame.entry3 insert 0 "$cc" .frame.entry4 insert 0 "$dd" .frame.entry5 insert 0 "$ee" .frame.entry6 insert 0 "$ff " .frame.entry7 insert 0 "$gg " } proc clearx {} { foreach i {1 2 3 4 5 6 7} { .frame.entry$i delete 0 end } } proc reportx {} { global side1 side2 side3 side4 side5 side6 side7 console show; puts " " set gg [ expr { $side1*$side1- $side2*$side2 } ] set gg [ expr { sqrt($gg) } ] set cx [ expr { $side1*$side1- $side2*$side2 } ] set cx [ expr { sqrt($cx) } ] set foci [ expr { 2.*$gg } ] set term1 [ expr { ($side1*$side1+ $side2*$side2) /2. } ] set perimeterx [ expr { 2.*[pi]*sqrt($term1)} ] set area1 [ expr { 1.*[pi]*$side1*$side2 } ] set eccentricity [ expr { 1.*$cx/$side1 } ] set pp 1.6075 set aa [ expr { pow($side1,$pp) } ] set bb [ expr { pow($side2,$pp) } ] set cc [ expr { pow($side3,$pp) } ] set term7 [ expr { ($aa*$bb+$aa*$cc+$bb*$cc)/3.} ] set term8 [ expr { 1./1.6075 } ] set term7 [ expr { pow($term7,$term8) } ] set ellipsoidarea [ expr { 1.*4.*[pi]*$term7 } ] set ellipsoidvolume [ expr { 1.*(4./3.)*[pi]*$side1*$side2*$side3 } ] puts " length between foci $foci" puts " perimeter $perimeterx" puts " area1 $area1" puts "eccentricity $eccentricity " puts "ellipsoid surface area $ellipsoidarea " puts "ellipsoid volume $ellipsoidvolume " } frame .buttons -bg aquamarine4 ::ttk::button .calculator -text "Solve" -command { calculate } ::ttk::button .test2 -text "Testcase1" -command {clearx;fillup 50. 10. 49. 1570.8 98. 226.5 0.97} ::ttk::button .test3 -text "Testcase2" -command {clearx;fillup 200. 100. 173. 6.28E4 346. 993. 0.86} ::ttk::button .test4 -text "Testcase3" -command {clearx;fillup 500. 250. 433. 3.9E5 866. 2483. 0.86 } ::ttk::button .clearallx -text clear -command {clearx } ::ttk::button .about -text about -command about ::ttk::button .cons -text report -command { reportx } ::ttk::button .exit -text exit -command {exit} pack .calculator -in .buttons -side top -padx 10 -pady 5 pack .clearallx .cons .about .exit .test4 .test3 .test2 -side bottom -in .buttons grid .frame .buttons -sticky ns -pady {0 10} . configure -background aquamarine4 -highlightcolor brown -relief raised -border 30 wm title . "Ellipse Properties" ====== <> Numerical Analysis | Toys | Calculator | Example | Mathematics