post-kerbin-mining-corporation / nearfuturesolar Goto Github PK
View Code? Open in Web Editor NEWAdds more solar panel parts to Kerbal Space Program
Adds more solar panel parts to Kerbal Space Program
Finish localizing all the config files in preparation for 1.3
While the constant NRE spam is gone, THANK YOU!. There are still buttons present when right clicking on the part. Both 'Toggle' and 'Deploy'. Both of which do absolutely nothing, but when one clicks on it, there is a single NRE message. Perhaps this can be cleaned up, so that the buttons don't appear at all if there is no animation, or if the 'Toggle' is meant to be a bus shut off, that it does so. Just unsure of the intentions.
Redo to Dragon 1 style.
Orion, mid generation style. Some small tweaks needed
Needs to either be an advanced panel or a blanket. If advanced:
Long boom/canister style, pull a bit from Nautilus-X and Copernicus for the mechanisms
1/3 size Trio. Basically the one on Copernicus
These are the Dawn panels
This looks like the GOES-R panel:
Old Orion UltraFlex
Juno panels, and I will have to make up the mechanism for rotation
That round thing from the asteroid tug
That crazy thing
Old BFR concept
New BFR concept. Should be basically 4x OKEB-75
Redo to initial DST concepts
Based off ITS solar panels
On this specific panel there are two buttons, both 'Deploy' which changes to 'Retract' when it is deployed'. And a 'Toggle' button which stays the same, and does both actions. Is that really necessary, unless the Toggle is going to be made into some sort of 'shut off' where it would disconnect that source?
I was testing the sun exposure/incident angle of round panels and came upon something strange (it's possible to following observation is limited by KSP and it's not your fault, nevertheless it's good to record).
The test setup I used to take these measurements:
The measurements for a round panel (NV-3) and a flat panel (PX-Stat 1x2), the other columns are estimates for flat panel (Cos(A)) and estimates for round panels. Here is the raw data:
Angle | NIV-3 (round) | PX-Stat 1x2 (flat) | Cos(a) | Theoretical 90° round | Theoretical 80° round | Theoretical 40° Round |
---|---|---|---|---|---|---|
0 | 0.95 | 1 | 1 | 0.8983655217 | 0.9191635096 | 0.9794102871 |
10 | 0.94 | 0.98 | 0.984807753 | 0.8847173308 | 0.9051993505 | 0.9645308441 |
20 | 0.89 | 0.94 | 0.9396926208 | 0.8441874515 | 0.8637311673 | 0.9203446195 |
30 | 0.82 | 0.86 | 0.8660254038 | 0.7780073637 | 0.7960189496 | 0.8481941894 |
40 | 0.72 | 0.76 | 0.7660444431 | 0.6881879158 | 0.7041200989 | 0.750271808 |
50 | 0.6 | 0.63 | 0.6427876097 | 0.5803120933 | 0.5908269153 | 0.6295527974 |
60 | 0.46 | 0.49 | 0.5 | 0.4719716087 | 0.4712381839 | 0.4897051436 |
70 | 0.33 | 0.33 | 0.3420201433 | 0.3684406425 | 0.3588551084 | 0.3349780468 |
80 | 0.23 | 0.16 | 0.1736481777 | 0.2728649306 | 0.257109921 | 0.1924912522 |
90 | 0.12 | 0 | 0 | 0.1881484927 | 0.1691115598 | 0.08723867911 |
100 | 0.06 | 0 | 0 | 0.1168653949 | 0.09749885254 | 0.02241844065 |
110 | 0.01 | 0 | 0 | 0.06118153801 | 0.04448267314 | 6.12E-19 |
120 | 0 | 0 | 0 | 0.02278884786 | 0.0116564291 | 0 |
130 | 0 | 0 | 0 | 0.00285386692 | 6.12E-19 | 0 |
140 | 0 | 0 | 0 | 0 | 0 | 0 |
150 | 0 | 0 | 0 | 0 | 0 | 0 |
The theoretical estimates for round panels where created using this python program that divides round panels up into 100 facets and computes their sum exposure:
import math
def flatPanelExposure(exposureAngle):
rad = math.pi*2.0*exposureAngle/360.0
return max(0.0, math.cos(rad))
def roundPanelExposure(exposureAngle, circularCoverage):
count = 0.0
amount = 0.0
for facetNum in range(0,100):
facetNum = float(facetNum)
facetScalar = facetNum/99.0
facetAngle = circularCoverage*facetScalar-circularCoverage*0.5
angle = exposureAngle + facetAngle
amount += flatPanelExposure(angle)
count += 1.0
return amount/count
for exposureAngle in range(0,160,10):
exposureAngle = float(exposureAngle)
#print exposureAngle, flatPanelExposure(exposureAngle+45)
#print exposureAngle, roundPanelExposure(exposureAngle, 90.0)
print roundPanelExposure(exposureAngle, 40.0)
Plotting for a flat panel we see that the flat panel matches estimated performance quite closely:
Judging the NV-3 panel from the looks/curvature it seems to be designed to cover a 90° arc. However I observed that visually (when rotated) it seems to be more like 80°, and from observation it already cuts out energy flow for a coverage that'd correspond to 40°.
Comparing the round panel to cos(a) and for the 90° estimate, we can see that it matches neither (it should really match the 90° estimate).
Comparing the round panel to 90°, 80° and 40° we can see that its actual performance is more closely aligned with the 40° estimate (maybe a bit above that, like 45°).
It might be a bit expensive to estimate a round panel using a hundred facets, so I tested which facet count still provides a fairly good estimate (the program is slightly modified for that to account correctly for the half facets at the start and end and have a parameter for facet count, here's the updated estimation function):
def roundPanelExposure(exposureAngle, circularCoverage, facetCount):
count = 0.0
amount = 0.0
for facetNum in range(0,facetCount+1):
if facetNum == 0 or facetNum == facetCount:
weight = 0.5
else:
weight = 1.0
facetNum = float(facetNum)
facetScalar = facetNum/facetCount
facetAngle = circularCoverage*facetScalar-circularCoverage*0.5
angle = exposureAngle + facetAngle
amount += flatPanelExposure(angle)*weight
count += weight
return amount/count
And here is the result:
Down to 8 facets things look fairly good, but at 4 facets it gets kinda bad.
It'd also be possible to approximate with a trigonometric function, use calculus (I'm very bad at calculus), or use curve fitting (cool online tool for that http://mycurvefit.com/) of a polynominal (quadric or quintic or some spline/smoothstep). Although it's doubtful the maths to evaluate those curve fits are any much cheaper than taking 8 facets for sampling.
Is the "manufacturer = Kerb Kastra
" seen here a misspelling of the manufacturer "Kerb Kastria Inc.
" seen in other NearFuture packs?
New 3.75m -> 10m expanding curved array.
Localize relevant parts of the plugin
Hi,
thx for the superb plugin!
I realized that after last changes the localization is broken due to rename of parts. The en-us.cfg was updated, the other files not.
can you fix it?
thx again!
I believe that in the
NearFutureSolar/Patches/NFSolarCommunityTechTree.cfg
there should also be the line
@part[nfs-panel-static-truss-3]:NEEDS[CommunityTechTree]
{
@TechRequired = advPVMaterials
}
otherwise the static-truss-3 would stay at the electrics node.
Unless this is intentional?
Peace.
Examine and revise all solar panel shaders to make them look generally better
Thanks for the great work on the update. Seems I've found a bug with the 2 non-deploying curved solar panels. They don't generate EC no matter how much sun shines on them! Discovered this in my modded career, double checked on a vanilla install. All other panels working as expected.
SpaceX ITS-style solar array does not have an entry in the CTT patch. Probably belongs in advPVMaterials with the rest of the blanket arrays.
Hi, I have a savefile that was using NFS version 1.0.5 and upon upgrading, it breaks most ships that are already in orbit due to some parts that are now deprecated. Is there an easy way to replace them with up-to-date parts on the latest version?
NASA asteroid tug panels
Currently getting a 404 when trying to download the latest version (v1.2.3) via CKAN or directly from spacedock.info (https://spacedock.info/mod/559/Near%20Future%20Solar)
ISS-style dual-tracked solar panels
Is there a way to make NearFutureSolar compatible with tweakscale?
The following panels are 'upside down" in the VAB when extended. Resolve this:
While going through my output_log.txt looking for something completely unrelated, I chanced across this: http://pastebin.com/0bvcMRHn
Apparently something in Unity doesn't agree with the way the colliders are set up for one of the blanket arrays. I don't know if this is an actual issue, or if it can safely be ignored... so I just thought I'd report it here.
seems to have reapeared. non critical, as it can be retracted in flight, but still somewhat annoying.
The right click menu offers no option for it.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.