@JuanShot2Go
I modified it a bit, so now it looks like that: if(abs(rate(clk))){ addr=ai0+ 2*ai1+ 4*ai2+ 8*ai3+ 16*ai4+ 32*ai5+ 64*ai6+ 128*ai7 if(wrt){di=di0+ 2*di1+ 4*di2+ 8*di3+ 16*di4+ 32*di5+ 64*di6+ 128*di7} } addrLarge=floor(addr/3) addrShift=pow(256,repeat(addr,3)) if(addrLarge=0){ if(di>=0){m0=m0-(repeat(m0,256*addrShift)-repeat(m0,addrShift))+di*addrShift} value=floor(repeat(m0/addrShift,256)) } if(addrLarge=N){ if(di>=0){mN=mN-(repeat(mN,256*addrShift)-repeat(mN,addrShift))+repeat(di,256)*addrShift} value=floor(repeat(mN/addrShift,256)) } di=-1
.
If clk was switched, buttons ai0...ai7 will be used as new address (each button is one bit, ai0 is least-significant one).
If clk was switched and wrt is true, buttons di0...di7 will be used as data to store (each button is one bit, di0 is least-significant one).
addrLarge is number of memory variable that contains selected address. It's 1//3 of address, because single-precision floating-point format stores 23 fraction bits and one implicit leading bit, and 24/8 is 3, i.e. it can store up to 3 bytes (not including exponent and sign).
To store 3x8 bits in one 24-bit variable without intersection we need to shift it, but FT doesn't have any bitwise operators. So to shift value by N bits we need to multiply it by 2^N. Offset that we need to get is repeat(addr,3) bytes (see previous line), i.e. to store value in clean memory variable at Nth byte we need to add value*pow(2,8*repeat(addr,3)) (it's equal to value*pow(256,repeat(addr,3))) to memory variable.
To clear a byte of memory variable it uses m-(repeat(m,256*addrShift)-repeat(m,addrShift)). i wrote it 3 months ago and i don't remember how it works, but looks like it works. value setter shifts memory variable and then uses repeat(...,256) to cut anything that's above 7th bit and floor(...) to cut anything that's below 0th bit.
In programming languages like CS and Python we can create array named m and then get Nth element of array with m[N], but FT doesn't have arrays. So instead it uses pseudo-array, that's a lot of variables named mN and separate setters for each one.
After it's used di sets to -1, and it will contain -1 as long as clk will not be switched (see 7 lines above). If di<0, mN setter will not be activated, and therefore memory contents will not be changed.
Finally, if clk was switched and wrt is false, buttons di0...di7 is used to display separate bits of value that was previously obtained from one of memory variables (see 3 lines above)(didn't wrote it in code above because of comment length limit).
@linxiaofeng2339 @huiyuanzhang
Air pressure in SP is exp(-Altitude/7640) or pow(IAS/TAS,2). IIRC these two is equivalent (i.e. difference is less than 1e-6), but you should check it.
Basically, it'd be nice if every part in the menu system could just be configured in a setting file, to personalize the order they appear in.
Actually this file exists, it's %userprofile%/appdata/locallow/jundroo/simpleplanes/DesignerParts.xml (for windows)
It contains list of assemblies, and each assembly have name, category, settings for preview image, and list of it's parts with attributes.
It's structure is almost same as structure of sub-assemble files, so i think you can also add connections if assembly contains more than one part.
as far from center of mass as possible.
airplane rotates around it's CoM, and speed of part relative to CoM is proportional to distance from part to CoM and angular velocity of airplane.
also if you have large ring on your airplane you can rotate cockpit inside ring, so it's velocity will not be same as velocity of airplane.
It's just fail.
Hatsune Miku (not Hachune) is official translation and used on box.
As lurkmore says, leekspin was originally made using Orihime Inoue from Bleach, and the one with Miku is just one of thousand remakes.
If you need some iconic video, you can take songs that made specially for Miku, like "Last Night, Good Night" or "World is Mine" or one of her real-lifeshows.
Collision model for fuselages that have same shape as visible fuselage.
Because we can do camo from from many parts, we can hide resizable wheel inside custom rim, but we can not change collisions.
I managed it to turn within ~4km radius.
And i calculated that outer wingtip flew with ~2.5x more speed than inner one.So i think that without gyro it will roll to the same direction in which it turns, and it may result uncontrable rolling with subsequent crash.
.
On this build, wing loading is just 167kg/m^2, it's better than on some fighters uploaded to this site, so i think if i will delete it's gyro, it can fly as good as real-life fighters.
Hello, fish.
The problem is not center of pressure, but your attempts to move it.
I will give you fixed version and explaination what's wrong soon,
for now i can say that it can't stall, goes into tailspin, and can't stop rolling because canards have almost 50x more area than main wing.
Can i install more than one turrets? (you will need at least 2 to cover full sphere)
How many engines can i install?
Can it be jet-powered?
Will 20mm cannon with 1400m/s muzzle velocity be considered as realistic?
First line says, that it's "Challenge For Skilled Ship Builders Of SP Community",
lines 10-12 says that part of rewards is spotlights,
but you have only 81 point for now, (most active community have more points than you for now)
and iirc you can spotlight builds only from player that have less points than you.
Was it a joke,
Or do you have another account?
It feels like some humans upvoted it not because of technology, but because of anime girl picture...
It once again proves that the only purpose of a living organism is to replicate it's genes...
@Formula350
1.
I actually made something like that (iirc it's named "turtle graphics"), but gun's bullet flies away with speed given by "smaller box", so you need sort of blocker that will stop turtle before firing.
2.
If you have more than two bullets at almost-same place, you will see two different boxes instead of one colored, because tracerColor can't use 32-bit colors.
You will need 8-128 guns (one for each color) and sort of multiplexer linked on AGs (Activate1&!Activate2&!Activate3...) (you can add blocker from previous paragraph here).
3.
You don't need huge grid, you need one small (like 12x12 bullets +circles for radial coords) attached to turtle, because in most cases human remembers relative coords (twenty hands above old tree) instead of absolute ones.
4.
Winch is very, very fragile, let's use old good pistons instead.
5.
And still i don't think it will be very accurate.
Just see at this build in game - each gun is connected to some others, but still it looks like a rope from guns instead of solid rod.
@Formula350 Actually, you can get craft with mass below zero, because you can ge fuel tank with negative amount of fuel.
I don't know about negative mass, but with near-zero mass it just crashes game.
Old props (partType Prop-1 and Prop-2) will look like propeller engines but work like jet engines.
+1Can it be someone other's build with modifications?
+1If no, can i use parts of someone other's builds?
@JuanShot2Go
I modified it a bit, so now it looks like that:
if(abs(rate(clk))){
addr=ai0+ 2*ai1+ 4*ai2+ 8*ai3+ 16*ai4+ 32*ai5+ 64*ai6+ 128*ai7
if(wrt){di=di0+ 2*di1+ 4*di2+ 8*di3+ 16*di4+ 32*di5+ 64*di6+ 128*di7}
}
addrLarge=floor(addr/3)
addrShift=pow(256,repeat(addr,3))
if(addrLarge=0){
if(di>=0){m0=m0-(repeat(m0,256*addrShift)-repeat(m0,addrShift))+di*addrShift}
value=floor(repeat(m0/addrShift,256))
}
if(addrLarge=
N){
if(di>=0){m
N=m
N-(repeat(m
N,256*addrShift)-repeat(m
N,addrShift))+repeat(di,256)*addrShift}
value=floor(repeat(m
N/addrShift,256))
}
di=-1
.
If
clk
was switched, buttonsai0
...ai7
will be used as new address (each button is one bit,ai0
is least-significant one).If
clk
was switched andwrt
is true, buttonsdi0
...di7
will be used as data to store (each button is one bit,di0
is least-significant one).addrLarge is number of memory variable that contains selected address. It's 1//3 of address, because single-precision floating-point format stores 23 fraction bits and one implicit leading bit, and 24/8 is 3, i.e. it can store up to 3 bytes (not including exponent and sign).
To store 3x8 bits in one 24-bit variable without intersection we need to shift it, but FT doesn't have any bitwise operators. So to shift value by N bits we need to multiply it by 2^N. Offset that we need to get is
repeat(addr,3)
bytes (see previous line), i.e. to store value in clean memory variable at Nth byte we need to addvalue*pow(2,8*repeat(addr,3))
(it's equal tovalue*pow(256,repeat(addr,3))
) to memory variable.To clear a byte of memory variable it uses
m-(repeat(m,256*addrShift)-repeat(m,addrShift))
. i wrote it 3 months ago and i don't remember how it works, but looks like it works.value
setter shifts memory variable and then usesrepeat(...,256)
to cut anything that's above 7th bit andfloor(...)
to cut anything that's below 0th bit.In programming languages like CS and Python we can create array named
m
and then get Nth element of array withm[N]
, but FT doesn't have arrays. So instead it uses pseudo-array, that's a lot of variables namedmN
and separate setters for each one.After it's used
di
sets to -1, and it will contain -1 as long asclk
will not be switched (see 7 lines above). Ifdi<0
,mN
setter will not be activated, and therefore memory contents will not be changed.Finally, if
clk
was switched andwrt
is false, buttonsdi0
...di7
is used to display separate bits ofvalue
that was previously obtained from one of memory variables (see 3 lines above)(didn't wrote it in code above because of comment length limit).@linxiaofeng2339 @huiyuanzhang
Air pressure in SP is
exp(-Altitude/7640)
orpow(IAS/TAS,2)
. IIRC these two is equivalent (i.e. difference is less than 1e-6), but you should check it.I'm interested too.
I tried to replace linefeeds with voffset and pos, but if i understood correctly it didn't work too.
thank you very much!
+1can you, please, add screenshot of result here?
afaik all box-drawing characters works correctly (but to draw actual box you will need to use mspace and line-height), but i can't prove it.
@Formula350
Actually this file exists, it's
%userprofile%/appdata/locallow/jundroo/simpleplanes/DesignerParts.xml
(for windows)It contains list of assemblies, and each assembly have name, category, settings for preview image, and list of it's parts with attributes.
It's structure is almost same as structure of sub-assemble files, so i think you can also add connections if assembly contains more than one part.
Su30SM,Pigpen,Hellkeska,Pigpen,Su30SM.
it's weird. if you're too lazy to get right colors, you can edit css file (f12 in firefox, idk about other browsers).
here.
+2save this link, maybe you will need it one more time later
as far from center of mass as possible.
+1airplane rotates around it's CoM, and speed of part relative to CoM is proportional to distance from part to CoM and angular velocity of airplane.
also if you have large ring on your airplane you can rotate cockpit inside ring, so it's velocity will not be same as velocity of airplane.
i'm sure this post is SCP11008-something too.
ok...
It's just fail.
Hatsune Miku (not Hachune) is official translation and used on box.
As lurkmore says, leekspin was originally made using Orihime Inoue from Bleach, and the one with Miku is just one of thousand remakes.
If you need some iconic video, you can take songs that made specially for Miku, like "Last Night, Good Night" or "World is Mine" or one of her real-life shows.
@DeltaLCI no, please, no!
+1Looks good, but i think impractical in cruize, because wing will need a lot less energy to return airplane to near-zero angle of slip.
Maybe SP website need separate tag for anime stuff?
+2click
+1not-to-forget comment.
+1Sometimes SP builders is even faster than R34 artists...
+2Collision model for fuselages that have same shape as visible fuselage.
+8Because we can do camo from from many parts, we can hide resizable wheel inside custom rim, but we can not change collisions.
(img)
+1Godspeed to you.
BAC TSR2?
+3Just 85 km...
I managed it to turn within ~4km radius.
And i calculated that outer wingtip flew with ~2.5x more speed than inner one.So i think that without gyro it will roll to the same direction in which it turns, and it may result uncontrable rolling with subsequent crash.
.
On this build, wing loading is just 167kg/m^2, it's better than on some fighters uploaded to this site, so i think if i will delete it's gyro, it can fly as good as real-life fighters.
And all this in 70 tons...
https://www.simpleplanes.com/a/LgHN01/Project-Hellbore-V6-1
Maybe "to fly straight"?
You probably need to clean dust from it's fans (especially cpu fan in the center of hull), and maybe attach one more fan.
https://www.simpleplanes.com/a/A0yM5n/F-15-J-Kai
Hello, fish.
The problem is not center of pressure, but your attempts to move it.
I will give you fixed version and explaination what's wrong soon,
for now i can say that it can't stall, goes into tailspin, and can't stop rolling because canards have almost 50x more area than main wing.
T
+1@GiuliMBorgesYT
+2Manual loading isn't a problem of gun itself.
But i agree about HE shells.
Can i install more than one turrets? (you will need at least 2 to cover full sphere)
+1How many engines can i install?
Can it be jet-powered?
Will 20mm cannon with 1400m/s muzzle velocity be considered as realistic?
Is there any eggy helicopter for scale?
I tried to fit Gator-2 into eggship hangar, but it's rotor diameter is 1.5x more than ship's width.
Does anyone know, who is this girl on banner?
+9@BeastHunter
https://en.wikipedia.org/wiki/SovietsubmarineK-314
https://en.wikipedia.org/wiki/USSKittyHawk(CV-63)#1979to_1998
First line says, that it's "Challenge For Skilled Ship Builders Of SP Community",
lines 10-12 says that part of rewards is spotlights,
but you have only 81 point for now, (most active community have more points than you for now)
and iirc you can spotlight builds only from player that have less points than you.
Was it a joke,
Or do you have another account?
Nice build, but 11 tons is too heavy for a car.
+3Real ones is just 700-800 kgs including meat.
Will flying tank be judged as tank or as airplane?
@X4JB Brain is stupid and doesn't knows that.
It feels like some humans upvoted it not because of technology, but because of anime girl picture...
It once again proves that the only purpose of a living organism is to replicate it's genes...
@Formula350
+21.
I actually made something like that (iirc it's named "turtle graphics"), but gun's bullet flies away with speed given by "smaller box", so you need sort of blocker that will stop turtle before firing.
2.
If you have more than two bullets at almost-same place, you will see two different boxes instead of one colored, because tracerColor can't use 32-bit colors.
You will need 8-128 guns (one for each color) and sort of multiplexer linked on AGs (Activate1&!Activate2&!Activate3...) (you can add blocker from previous paragraph here).
3.
You don't need huge grid, you need one small (like 12x12 bullets +circles for radial coords) attached to turtle, because in most cases human remembers relative coords (twenty hands above old tree) instead of absolute ones.
4.
Winch is very, very fragile, let's use old good pistons instead.
5.
And still i don't think it will be very accurate.
Just see at this build in game - each gun is connected to some others, but still it looks like a rope from guns instead of solid rod.
Is it supposed to be a bomber?
+1It flies (and looks) good, but it feels that 40m is a little too much for a fighter.
@TheRealKronos so, he sure that all teams will post planes 3 weeks after deadline?
@DJ2keroni Just for info, what is your mean time to answer in your comments section?
I agree with @Rodrigo110 .
+2In other challenges and tournaments it works just like that.
@Formula350 Actually, you can get craft with mass below zero, because you can ge fuel tank with negative amount of fuel.
I don't know about negative mass, but with near-zero mass it just crashes game.