v1.jpg
соответствует изменению градусов поворота картинки в трансформации по формуле (arcsin(%1))*(360/pi) (диапазон подаваемых значений от +1 до -1)
График второй
v2.jpg
при подаче значений от 0 до -1, далее до 0, до +1, до 0, .... не понятно как это изложить вобщем, примеры ниже
Add(MainForm,2953706,21,105)
{
Width=841
Height=451
}
Add(LineBreakEx,16505516,1162,301)
{
Caption="bmp1"
Type=2
}
Add(Img_SetTransform,10774283,1008,343)
{
Point2=26214800
link(onResetTransform,730880:doDraw,[])
link(Bitmap,4929607:getVar,[])
link(Transform,3364027:Transform,[(1035,324)(1063,324)])
}
Add(LineBreakEx,4929607,1008,280)
{
Caption="bmp1"
Type=2
}
Add(Img_UseRotate,15911165,1057,217)
{
Angle=0
link(Angle,5966989:Var2,[])
}
Add(PaintBox,16296757,861,343)
{
Left=425
Top=5
Width=400
Height=400
Color=0
Enabled=1
ClearBeforeDraw=0
Point(MouseX)
Point(MouseY)
Point(onMouseMove)
Point(onMouseDown)
Point(Handle)
link(onBeforeDraw,12903508:doEvent1,[])
}
Add(LineBreakEx,2483627,861,392)
{
Caption="bmp1"
Type=3
link(_Data,16296757:Bitmap,[])
}
Add(Hub,12903508,903,343)
{
link(onEvent1,7645734:doSetTransform,[(977,349)(977,482)])
link(onEvent2,7645734:doResetTransform,[(968,356)(968,489)])
}
Add(Img_Text,623198,1078,476)
{
X=-3
Y=-200
Font=[MS Sans Serif,12,1,65280,1]
Text="S"
Point(X)
Point(Y)
link(onDraw,11957536:doDraw,[])
link(Bitmap,6789622:Var2,[])
}
Add(Img_SetTransform,7645734,1036,476)
{
Point2=26214800
link(onSetTransform,623198:doDraw,[])
link(onResetTransform,10774283:doResetTransform,[(1259,489)(1259,513)(996,513)(996,356)])
link(Bitmap,7483217:Var2,[])
link(Transform,8859586:Transform,[(1063,414)(1119,414)])
}
Add(LineBreakEx,14303955,1036,385)
{
Caption="bmp1"
Type=2
}
Add(Img_UseRotate,8859586,1113,371)
{
Angle=0
link(Angle,5966989:Var3,[(1126,201)])
}
Add(GetDataEx,5966989,1064,196)
{
link(Data,4938931:Result,[])
}
Add(Img_Text,11957536,1120,476)
{
X=-3
Y=178
Font=[MS Sans Serif,12,1,65280,1]
Text="N"
Point(X)
Point(Y)
link(onDraw,5046922:doDraw,[])
link(Bitmap,6487349:Var2,[])
}
Add(Img_Text,5046922,1162,476)
{
X=180
Y=-11
Font=[MS Sans Serif,12,1,65280,1]
Text="W"
Point(X)
Point(Y)
link(onDraw,11358778:doDraw,[])
link(Bitmap,9929604:Var2,[])
}
Add(Img_Text,11358778,1204,476)
{
X=-197
Y=-10
Font=[MS Sans Serif,12,1,65280,1]
Text="E"
Point(X)
Point(Y)
link(onDraw,10774283:doSetTransform,[(1267,482)(1267,523)(990,523)(990,349)])
link(Bitmap,9929604:Var3,[(1210,460)])
}
Add(GetDataEx,7483217,1036,455)
{
link(Data,14303955:getVar,[])
}
Add(GetDataEx,6789622,1078,455)
{
Angle=3
link(Data,7483217:Var3,[])
}
Add(GetDataEx,6487349,1120,455)
{
Angle=3
link(Data,6789622:Var3,[])
}
Add(GetDataEx,9929604,1162,455)
{
Angle=3
link(Data,6487349:Var3,[])
}
Add(MathParse,6000041,1015,147)
{
DataCount=1
MathStr="(arcsin(%1))*(360/pi)"
link(onResult,4938931:doOperation,[])
}
Add(Img_UseRotate,3364027,1057,266)
{
Angle=0
link(AddTransform,15911165:Transform,[])
}
Add(Math,4938931,1064,147)
{
OpType=37
Op2=0.0001
}
Add(Img_Bmp,730880,1211,350)
{
X=196
Y=197
Transparent=0
TransparentColor=16777215
link(Bitmap,16505516:getVar,[(1217,332)(1168,332)])
link(SourceBitmap,14559879:Bitmap,[])
}
Add(Bitmap,14559879,1218,301)
{
Picture=[424D9600000000000000360000002800000007000000040000000100180000000000600000000000000000000000000000000000000000FF0000FF0000FF0000FF0000FF0000FF0000FF00000000FFFFFF00FF0000FF0000FF0000FF0000FF00FFFFFF000000FFFFFFFFFFFF00FF0000FF0000FF00FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF00FF00FFFFFFFFFFFFFFFFFF000000]
}
Add(StrList,10802567,917,63)
{
Strings=#19:0.01490552257746458|19:0.03140690177679062|19:0.04377724602818489|19:0.05614150688052177|19:0.09317431598901749|17:0.121891051530838|18:0.1382562965154648|17:0.158660039305687|18:0.1952097713947296|18:0.2274743616580963|18:0.2475163191556931|18:0.2674525678157806|18:0.3109005689620972|18:0.3421017825603485|18:0.3690982162952423|18:0.3957866132259369|18:0.4296122491359711|18:0.4664992094039917|18:0.4846482872962952|18:0.5167919397354126|18:0.5447670817375183|18:0.5922775268554688|17:0.618549108505249|18:0.6378117203712463|18:0.6751526594161987|18:0.7020772099494934|17:0.728033185005188|18:0.7556945085525513|18:0.7820693850517273|18:0.8071122765541077|18:0.8214809894561768|18:0.8353462815284729|18:0.8656930923461914|18:0.8875155448913574|18:0.9057688117027283|18:0.9159822463989258|18:0.9376199841499329|18:0.9596825838088989|18:0.9652773141860962|18:0.9752320647239685|18:0.9827721118927002|18:0.9889568686485291|18:0.9942288994789124|18:0.9972280859947205|18:0.9991406202316284|18:0.9997913241386414|18:0.9991569519042969|18:0.9962648749351502|18:0.9902017712593079|18:0.9788312315940857|18:0.9695549011230469|18:0.9597941637039185|18:0.9447235465049744|18:0.9303937554359436|18:0.9144799709320068|18:0.9041826128959656|18:0.8740315437316895|16:0.85108482837677|18:0.8400717973709106|18:0.8097766041755676|18:0.7899696826934815|18:0.7339394092559815|18:0.6994200944900513|18:0.6784864068031311|18:0.6412937641143799|18:0.5959213972091675|18:0.5724802017211914|18:0.5381685495376587|18:0.4777691960334778|17:0.429979532957077|17:0.388569712638855|18:0.3308295905590057|18:0.3034371435642242|18:0.2479148954153061|18:0.2198323458433151|18:0.1956146955490112|18:0.1468342393636704|18:0.0771404504776001|19:0.04006853327155113|21:-0.001185912173241377|20:-0.06304129958152771|19:-0.1491802334785461|19:-0.1695494502782822|19:-0.2181219458580017|19:-0.2621805667877197|19:-0.3135458827018738|19:-0.3601638674736023|19:-0.3831478357315064|19:-0.4209268689155579|19:-0.4725989699363709|18:-0.508551836013794|19:-0.5574177503585815|19:-0.5778008699417114|19:-0.6174905896186829|19:-0.6462699770927429|19:-0.6711045503616333|18:-0.698168933391571|19:-0.7355517148971558|19:-0.7786455154418945|19:-0.7964423894882202|19:-0.8207108974456787|19:-0.8650162220001221|19:-0.8791464567184448|19:-0.9016566872596741|19:-0.9235469102859497|19:-0.9454998970031738|19:-0.9604583978652954|19:-0.9730623960494995|19:-0.9868284463882446|19:-0.9905308485031128|19:-0.9940828084945679|19:-0.9961121678352356|18:-0.999754011631012|19:-0.9973567724227905|19:-0.9967231154441834|19:-0.9948422908782959|19:-0.9892147779464722|19:-0.9830941557884216|19:-0.9747037887573242|19:-0.9624462127685547|19:-0.9438104629516602|19:-0.9231539964675903|19:-0.9099623560905457|19:-0.8976057171821594|19:-0.8786569237709045|19:-0.8408030867576599|19:-0.8224772810935974|19:-0.8032556772232056|19:-0.7701625227928162|19:-0.7292314767837524|19:-0.7003824710845947|19:-0.6855074167251587|19:-0.6548885107040405|19:-0.6263760924339294|19:-0.6134243607521057|19:-0.5836774706840515|19:-0.5668009519577026|19:-0.5218108892440796|19:-0.4933696091175079|19:-0.4825649857521057|19:-0.4680432677268982|19:-0.4497124254703522|19:-0.4311894774436951|19:-0.4274629950523377|19:-0.4162389636039734|19:-0.3973911106586456|19:-0.3860012888908386|19:-0.3707224130630493|19:-0.3553417325019836|19:-0.3398650884628296|19:-0.3242964148521423|19:-0.3164781332015991|19:-0.3047109842300415|19:-0.2810385823249817|18:-0.265160083770752|19:-0.2532036304473877|19:-0.2452113926410675|18:-0.225157767534256|19:-0.2130790948867798|19:-0.1928766071796417|19:-0.1725922226905823|19:-0.1563109904527664|19:-0.1481539607048035|19:-0.1440718322992325|19:-0.1359005123376846|19:-0.1318109780550003|19:-0.1277193874120712|19:-0.1236257255077362|19:-0.1195295751094818|19:-0.1154321506619453|19:-0.1031266897916794|20:-0.09080597758293152|20:-0.07024119049310684|20:-0.06200617179274559|20:-0.05376679822802544|20:-0.04552451148629189|20:-0.03727846965193749|19:-0.0166536308825016|21:-0.008401742205023766|
}
Add(ArrayRW,15854617,931,147)
{
link(onRead,6000041:doCalc,[])
link(Array,10802567:Array,[])
}
Add(CounterEx,5130055,875,147)
{
Max=179
link(onNext,15854617:doRead,[])
}
Add(Timer,14021328,812,147)
{
Interval=25
link(onTimer,5130055:doNext,[])
}
Add(Timer,10374832,812,343)
{
Interval=1
link(onTimer,16296757:doRefresh,[])
}
Add(LineBreakEx,16053527,504,301)
{
Caption="bmp2"
Type=2
}
Add(Img_SetTransform,13929519,350,343)
{
Point2=26214800
link(onResetTransform,9202940:doDraw,[])
link(Bitmap,10519306:getVar,[])
link(Transform,8678998:Transform,[(377,324)(405,324)])
}
Add(LineBreakEx,10519306,350,280)
{
Caption="bmp2"
Type=2
}
Add(Img_UseRotate,10614339,399,217)
{
Angle=0
link(Angle,8534036:Var2,[])
}
Add(PaintBox,6499108,203,343)
{
Left=5
Top=5
Width=400
Height=400
Color=0
Enabled=1
ClearBeforeDraw=0
Point(MouseX)
Point(MouseY)
Point(onMouseMove)
Point(onMouseDown)
Point(Handle)
link(onBeforeDraw,9171880:doEvent1,[])
}
Add(LineBreakEx,2100063,203,392)
{
Caption="bmp2"
Type=3
link(_Data,6499108:Bitmap,[])
}
Add(Hub,9171880,245,343)
{
link(onEvent1,10761467:doSetTransform,[(319,349)(319,482)])
link(onEvent2,10761467:doResetTransform,[(310,356)(310,489)])
}
Add(Img_Text,2076875,420,476)
{
X=-3
Y=-200
Font=[MS Sans Serif,12,1,65280,1]
Text="S"
Point(X)
Point(Y)
link(onDraw,16442264:doDraw,[])
link(Bitmap,5254712:Var2,[])
}
Add(Img_SetTransform,10761467,378,476)
{
Point2=26214800
link(onSetTransform,2076875:doDraw,[])
link(onResetTransform,13929519:doResetTransform,[(601,489)(601,513)(338,513)(338,356)])
link(Bitmap,1763114:Var2,[])
link(Transform,15789319:Transform,[(405,414)(461,414)])
}
Add(LineBreakEx,1046146,378,385)
{
Caption="bmp2"
Type=2
}
Add(Img_UseRotate,15789319,455,371)
{
Angle=0
link(Angle,8534036:Var3,[(468,201)])
}
Add(GetDataEx,8534036,406,196)
{
link(Data,7821590:Result,[])
}
Add(Img_Text,16442264,462,476)
{
X=-3
Y=178
Font=[MS Sans Serif,12,1,65280,1]
Text="N"
Point(X)
Point(Y)
link(onDraw,9720452:doDraw,[])
link(Bitmap,9757585:Var2,[])
}
Add(Img_Text,9720452,504,476)
{
X=180
Y=-11
Font=[MS Sans Serif,12,1,65280,1]
Text="W"
Point(X)
Point(Y)
link(onDraw,6895554:doDraw,[])
link(Bitmap,153781:Var2,[])
}
Add(Img_Text,6895554,546,476)
{
X=-197
Y=-10
Font=[MS Sans Serif,12,1,65280,1]
Text="E"
Point(X)
Point(Y)
link(onDraw,13929519:doSetTransform,[(609,482)(609,523)(332,523)(332,349)])
link(Bitmap,153781:Var3,[(552,460)])
}
Add(GetDataEx,1763114,378,455)
{
link(Data,1046146:getVar,[])
}
Add(GetDataEx,5254712,420,455)
{
Angle=3
link(Data,1763114:Var3,[])
}
Add(GetDataEx,9757585,462,455)
{
Angle=3
link(Data,5254712:Var3,[])
}
Add(GetDataEx,153781,504,455)
{
Angle=3
link(Data,9757585:Var3,[])
}
Add(MathParse,9356890,357,147)
{
DataCount=1
MathStr="(arcsin(%1))*(360/pi)"
link(onResult,7821590:doOperation,[])
}
Add(Img_UseRotate,8678998,399,266)
{
Angle=0
link(AddTransform,10614339:Transform,[])
}
Add(Math,7821590,406,147)
{
OpType=37
Op2=0.0001
}
Add(Img_Bmp,9202940,553,350)
{
X=196
Y=197
Transparent=0
TransparentColor=16777215
link(Bitmap,16053527:getVar,[(559,332)(510,332)])
link(SourceBitmap,13686574:Bitmap,[])
}
Add(Bitmap,13686574,560,301)
{
Picture=[424D9600000000000000360000002800000007000000040000000100180000000000600000000000000000000000000000000000000000FF0000FF0000FF0000FF0000FF0000FF0000FF00000000FFFFFF00FF0000FF0000FF0000FF0000FF00FFFFFF000000FFFFFFFFFFFF00FF0000FF0000FF00FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF00FF00FFFFFFFFFFFFFFFFFF000000]
}
Add(StrList,8575918,259,63)
{
Strings=#18:0.9961947202682495|18:0.9961942434310913|18:0.9961928129196167|18:0.9961903691291809|18:0.9961827397346497|18:0.9961366653442383|18:0.9961135983467102|18:0.9961135983467102|18:0.9961135983467102|18:0.9961135983467102|18:0.9960867166519165|18:0.9960391521453857|18:0.9960718154907227|18:0.9960391521453857|18:0.9960213899612427|18:0.9959830641746521|18:0.9959182143211365|17:0.999722421169281|18:0.9957910180091858|18:0.9955375790596008|18:0.9951790571212769|18:0.9947951436042786|18:0.9944669604301453|18:0.9941042065620422|17:0.993707001209259|18:0.9932753443717957|18:0.9924792647361755|18:0.9921340346336365|18:0.9915875792503357|18:0.9897417426109314|17:0.989057719707489|18:0.9883394241333008|18:0.9874580502510071|18:0.9866654872894287|18:0.9855554699897766|18:0.9845342636108398|17:0.983310341835022|18:0.9823525547981262|18:0.9808520078659058|18:0.9796319007873535|17:0.978732168674469|18:0.9770531058311462|18:0.9758913516998291|18:0.9748973846435547|18:0.9732581377029419|18:0.9748342037200928|18:0.9691245555877686|18:0.9658628702163696|18:0.9629218578338623|18:0.9619118571281433|18:0.9603689908981323|18:0.9585268497467041|18:0.9605671167373657|18:0.9549857378005981|18:0.9572248458862305|18:0.9515789747238159|18:0.9498260021209717|18:0.9486390352249146|17:0.947134792804718|18:0.9452995657920837|18:0.9434314966201782|18:0.9405681490898132|18:0.9376312494277954|18:0.9356327056884766|18:0.9322296380996704|18:0.9357905983924866|18:0.9294424653053284|18:0.9265979528427124|18:0.9251543283462524|18:0.9222241044044495|18:0.9199891686439514|18:0.9181023240089417|17:0.915423572063446|18:0.9127016067504883|18:0.9107308983802795|17:0.909138560295105|18:0.9067237973213196|18:0.9038667678833008|18:0.9009671211242676|18:0.8984477519989014|16:0.89417964220047|18:0.8920132517814636|18:0.8954205513000488|18:0.8893851637840271|18:0.8892168402671814|18:0.8817717432975769|18:0.8794856071472168|17:0.875317394733429|18:0.8715547919273377|18:0.8686976432800293|18:0.8584607243537903|18:0.8554686903953552|18:0.8519404530525208|18:0.8488841652870178|17:0.844763457775116|18:0.8411149382591248|18:0.8363658785820007|17:0.828848659992218|18:0.8233832120895386|18:0.8155984282493591|18:0.8018954992294312|18:0.7948765754699707|18:0.7877474427223206|18:0.7823286652565002|18:0.7743939161300659|18:0.7669575214385986|18:0.7600473165512085|18:0.7543275356292725|17:0.746609628200531|18:0.7387881278991699|18:0.7308641672134399|17:0.724183201789856|18:0.7187881469726563|18:0.7112976908683777|17:0.703724205493927|18:0.6974667310714722|18:0.6918587684631348|17:0.686916708946228|17:0.678369402885437|18:0.6711746454238892|18:0.6580615639686585|18:0.6454882025718689|18:0.6387587785720825|18:0.6334901452064514|18:0.6243889331817627|18:0.6144314408302307|18:0.6059276461601257|18:0.5996986627578735|18:0.5910734534263611|18:0.5807911157608032|18:0.5720168352127075|17:0.563982367515564|17:0.559135377407074|18:0.5501990914344788|18:0.5411987900733948|18:0.5321352481842041|17:0.523009717464447|18:0.5171707272529602|18:0.5062623023986816|18:0.4867618381977081|18:0.4807772636413574|18:0.4696028530597687|18:0.4574835002422333|18:0.4452777802944183|16:0.43738654255867|17:0.425928145647049|18:0.4135107398033142|18:0.3983275890350342|18:0.3830335140228272|18:0.3739868700504303|18:0.3754154443740845|18:0.3649042546749115|18:0.3548727929592133|18:0.3457173109054565|18:0.3346867263317108|18:0.3245346248149872|17:0.314344584941864|18:0.3155453205108643|18:0.3022547662258148|18:0.2891798913478851|18:0.2779293060302734|18:0.2647549510002136|18:0.2572042644023895|18:0.2458483278751373|18:0.2306544333696365|18:0.2182673811912537|18:0.2010578215122223|17:0.186668187379837|18:0.1722382009029388|17:0.158736377954483|18:0.1432691663503647|18:0.1277666091918945|18:0.1282546520233154|18:0.1083445250988007|19:0.09180255979299545|18:0.0752350240945816|18:0.0566939041018486|19:0.03911027312278748|19:0.01760314218699932|20:-0.00195618555881083|20:-0.02053690515458584|20:-0.03813326358795166|20:-0.06059936806559563|20:-0.08011045306921005|19:-0.1015366837382317|19:-0.1180614605545998|19:-0.1384285092353821|19:-0.1539071649312973|19:-0.1751275509595871|19:-0.1953073740005493|19:-0.2173133939504623|19:-0.2335082292556763|19:-0.2534231841564179|19:-0.2704077959060669|19:-0.2844972014427185|19:-0.2855839133262634|19:-0.3031868934631348|19:-0.3208338022232056|18:-0.335608184337616|19:-0.3368901312351227|19:-0.3521299660205841|19:-0.3703584372997284|18:-0.387543261051178|19:-0.3992239534854889|19:-0.4152894616127014|19:-0.4321067333221436|18:-0.451391339302063|19:-0.4531155824661255|19:-0.4661493301391602|19:-0.4824895560741425|19:-0.4969677329063416|19:-0.5104678273200989|19:-0.5238419771194458|19:-0.5362630486488342|18:-0.549383819103241|19:-0.5663984417915344|19:-0.5685619711875916|19:-0.5776084065437317|19:-0.5918604135513306|18:-0.602817714214325|19:-0.6144315004348755|19:-0.6281915307044983|19:-0.6432506442070007|19:-0.6536448001861572|19:-0.6639153957366943|19:-0.6762180328369141|19:-0.6869169473648071|19:-0.6995589137077332|19:-0.7106127142906189|19:-0.7187882661819458|19:-0.7261948585510254|19:-0.7348389625549316|19:-0.7459619641304016|19:-0.7517666816711426|19:-0.7600472569465637|19:-0.7663331627845764|19:-0.7719271779060364|19:-0.7799006104469299|19:-0.7853468656539917|19:-0.7907315492630005|18:-0.796054482460022|19:-0.8036333918571472|19:-0.8088034987449646|19:-0.8139106631278992|19:-0.8189542889595032|19:-0.8239337205886841|19:-0.8293914198875427|19:-0.8363664150238037|19:-0.8416392803192139|19:-0.8468308448791504|19:-0.8514336347579956|19:-0.8579646944999695|19:-0.8628934025764465|19:-0.8672583699226379|19:-0.8710812330245972|19:-0.8753179907798767|19:-0.8799451589584351|19:-0.8853858113288879|19:-0.8898259997367859|19:-0.8932249546051025|19:-0.8946108222007752|19:-0.8980252742767334|19:-0.9018003940582275|19:-0.9075327515602112|19:-0.9107314348220825|19:-0.9150378704071045|18:-0.917722761631012|19:-0.9207382202148438|19:-0.9251548051834106|19:-0.9276718497276306|19:-0.9315387606620789|19:-0.9339428544044495|19:-0.9373007416725159|19:-0.9405685663223267|19:-0.9428018927574158|19:-0.9471351504325867|19:-0.9501209259033203|19:-0.9527297019958496|18:-0.955264151096344|19:-0.9569122791290283|19:-0.9595854878425598|19:-0.9619123339653015|19:-0.9641640186309815|19:-0.9668138027191162|19:-0.9693508744239807|19:-0.9713426232337952|19:-0.9732584953308106|19:-0.9752981662750244|19:-0.9770535230636597|19:-0.9785497188568115|19:-0.9803351163864136|19:-0.9818612337112427|19:-0.9856117367744446|19:-0.9833106994628906|19:-0.9849779009819031|19:-0.9862565994262695|19:-0.9873285889625549|19:-0.9880926012992859|19:-0.9894042015075684|19:-0.9909067153930664|19:-0.9918652772903442|19:-0.9925633668899536|19:-0.9931238889694214|19:-0.9934232234954834|19:-0.9939757585525513|19:-0.9945241212844849|19:-0.9949464201927185|18:-0.995265543460846|19:-0.9990672469139099|19:-0.9955376386642456|19:-0.9957627654075623|19:-0.9958702921867371|19:-0.9959408044815064|19:-0.9960214495658875|19:-0.9960867166519165|19:-0.9961366653442383|19:-0.9961774349212647|
}
Add(ArrayRW,7387582,273,147)
{
link(onRead,9356890:doCalc,[])
link(Array,8575918:Array,[])
}
Add(CounterEx,14763508,217,147)
{
Max=317
link(onNext,7387582:doRead,[])
}
Add(Timer,16097396,154,147)
{
Interval=25
link(onTimer,14763508:doNext,[])
}
Add(Timer,9652284,154,343)
{
Interval=1
link(onTimer,6499108:doRefresh,[])
}
в первом варианте всё правильно и всё работает как положено, а вот как второй вариант входящих значений адаптировать так же на полный оборот в 360 ?
или никак и нужны доп данные?, ибо может быть +90 на NE и +90 на SE