User Tools

Site Tools

handleiding_nieuw:sub_spacematrix

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
handleiding_nieuw:sub_spacematrix [2025/04/15 15:33] supporthandleiding_nieuw:sub_spacematrix [2025/04/15 15:51] (current) support
Line 86: Line 86:
     <div class="resultblock" id="lv4"></div>     <div class="resultblock" id="lv4"></div>
 </div> </div>
- 
-<button onclick="bereken()">Bereken</button> 
  
 <div style="margin-top: 30px;"> <div style="margin-top: 30px;">
Line 129: Line 127:
         row.innerHTML = `         row.innerHTML = `
             <td style="text-align: left;">${type}</td>             <td style="text-align: left;">${type}</td>
-            <td><input type="number" id="perc_${i}" value="${i < 5 ? 5 : 10}" step="0.1" oninput="bereken()"></td> +            <td><input type="number" id="perc_${i}" value="${i < 5 ? 5 : 10}" step="0.1" oninput="updateLaadvermogen()"></td> 
-            <td><input type="number" id="bvo_${i}" value="${i < 5 ? 130 : 90}" step="1" oninput="bereken()"></td>+            <td><input type="number" id="bvo_${i}" value="${i < 5 ? 130 : 90}" step="1" oninput="updateLaadvermogen()"></td>
             <td id="aantal_${i}">-</td>             <td id="aantal_${i}">-</td>
             <td id="totbvo_${i}">-</td>             <td id="totbvo_${i}">-</td>
Line 171: Line 169:
         const fsi = parseFloat(document.getElementById("fsi").value);         const fsi = parseFloat(document.getElementById("fsi").value);
         const voorzieningPerc = parseFloat(document.getElementById("voorziening").value) / 100;         const voorzieningPerc = parseFloat(document.getElementById("voorziening").value) / 100;
- 
         const laadvermogen = opp * fsi;         const laadvermogen = opp * fsi;
         const woonBVO = laadvermogen * (1 - voorzieningPerc);         const woonBVO = laadvermogen * (1 - voorzieningPerc);
Line 180: Line 177:
  
         for (let i = 0; i < types.length; i++) {         for (let i = 0; i < types.length; i++) {
-            const perc = parseFloat(document.getElementById(`perc_${i}`).value); +            const perc = parseFloat(document.getElementById(`perc_${i}`).value) || 0
-            const bvo = parseFloat(document.getElementById(`bvo_${i}`).value);+            const bvo = parseFloat(document.getElementById(`bvo_${i}`).value) || 0;
             gewogenBVO += (perc / 100) * bvo;             gewogenBVO += (perc / 100) * bvo;
             totalPerc += perc;             totalPerc += perc;
Line 187: Line 184:
         }         }
  
-        if (totalPerc === 0) return;+        if (totalPerc === 0 || gewogenBVO === 0) return;
  
         const totaalWoningenExact = woonBVO / gewogenBVO;         const totaalWoningenExact = woonBVO / gewogenBVO;
Line 194: Line 191:
         let wonPerType = [];         let wonPerType = [];
  
-        // Bereken voorlopige aantallen woningen per type 
         let restant = Math.round(totaalWoningenExact);         let restant = Math.round(totaalWoningenExact);
         for (let i = 0; i < details.length; i++) {         for (let i = 0; i < details.length; i++) {
Line 204: Line 200:
         }         }
  
-        // Verdeel overgebleven woningen over hoogste decimalen 
         const decimaalSort = details.map((d, i) => ({         const decimaalSort = details.map((d, i) => ({
             i, rest: ((d.perc / 100) * totaalWoningenExact) % 1             i, rest: ((d.perc / 100) * totaalWoningenExact) % 1
Line 213: Line 208:
         }         }
  
-        // Output tonen 
         for (let i = 0; i < details.length; i++) {         for (let i = 0; i < details.length; i++) {
             const aant = wonPerType[i];             const aant = wonPerType[i];
Line 237: Line 231:
 </script> </script>
 </html> </html>
 +
handleiding_nieuw/sub_spacematrix.1744731193.txt.gz · Last modified: 2025/04/15 15:33 by support