Generating 3-D multi-scroll chaotic attractors
- 格式:pdf
- 大小:1.41 MB
- 文档页数:11
2C D C 251 091 F 0006Electronic timer CT-ERD.22ON-delayed with 2 c/o (SPDT) contactsThe CT-ERD.22 is an electronic time relay with ON-delay. It is from the CT-D range.With their MDRC profile and a width of only17.5 mm, the CT-D range timers are ideally suited for installation in distribution panels as well as for industrial applications where compact dimensions are required.Characteristics–Rated control supply voltage 24-48 V DC, 24-240 V AC –Single-function timer ON-delay–7 time ranges (0.05 s - 100 h) in one device –Light-grey enclosure in RAL 7035 – 2 c/o (SPDT) contacts (250 V / 5 A) –Width of only 17.5 mm (0.689 in)– 2 LEDs for the indication of operational statesApprovalsA UL 508, CAN/CSA C22.2 No.14REAC E CCCLRMRSMarksa CE bRCMOrder dataType Rated control supply voltage Time range OutputOrder codeCT-ERD.2224-48 V DC, 24-240 V AC0.05 s - 100 h2 c/o (SPDT) contacts1SVR 500 100 R01002 - Electronic timer CT-ERD.22 | Data sheetFunctions Operating controls2C D C 251 091 F 00061 Rotary switch for the preselection of the time range2 Potentiometer with direct reading scale for the fine adjustmentof the time delay3 Indication of operational states U: green LEDV control supply voltage applied W timing R: yellow LEDV output relays energized 4 Circuit diagramApplicationWith their structural form and their width of only 17.5 mm, the CT-D range timers are ideally suited for installation indistribution panels.Operating modeThe CT-ERD.22 has 2 c/o (SPDT) contacts and offers 7 time ranges, from 0.05 s to 100 h. The time delay range is rotary switch selectable on the front of the unit. The fine adjustment of the time delay is made via an internal potentiometer, with a direct reading scale, on the front of the unit.Function descriptions / diagramsA ON-delayThis function requires continuous control supply voltage for timing. Timing begins when control supply voltage is applied.The green LED flashes during timing. When the selected time delay is complete, the output relays energize and the flashing green LED turns steady. If control supply voltage is interrupted, the output relays de-energize and the time delay is reset.Electrical connectionData sheet| Electronic timer CT-ERD.22 - 3Data at T a = 25 °C and rated values, unless otherwise indicatedInput circuitsSupply circuit A1-A2Rated control supply voltage U s24-240 V AC, 24-48 V DCRated control supply voltage U s tolerance-15...+10 %Typical current / power consumption24 V DC21 mA / 0.5 W115 V AC20 mA / 1.2 VA230 V AC31mA / 1.9 VARated frequency DC; 50/60 HzFrequency range AC47-63 HzPower failure buffering time min. 20 msRelease voltage> 10 % of the min. rated control supply voltage U sTiming circuitKind of timer Single-function timer ON-delayTime ranges 0.05 s - 100 h0.05-1 s, 0.5-10 s, 5-100 s, 0.5-10 min, 5-100 min, 0.5-10 h, 5-100 h Recovery time< 50 msRepeat accuracy (constant parameters)D t < ± 0.5 %Accuracy within the rated control supply voltage tolerance D t < 0.005 % / VAccuracy within the temperature range D t < 0.06 % / °CSetting accuracy of time delay± 10 % of full-scale valueUser interfaceIndication of operational statesControl supply voltage / timing U: green LED V: control supply voltage appliedW: timingRelay status R: yellow LED V: output relays energizedOutput circuitKind of output15-16/18relay, 1st c/o (SPDT) contact25-26/28relay, 2nd c/o (SPDT) contactContact material Cd-freeRated operational voltage U e250 VMinimum switching voltage / Minimum switching current12 V / 100 mAMaximum switching voltage / Minimum switching current see load limit curve / see load limit curveRated operational current I e AC-12 (resistive) at 230 V 5 AAC-15 (inductive) at 230 V 3 ADC-12 (resistive) at 24 V 5 ADC-13 (inductive) at 24 V 2 AAC rating (UL 508)utilization category(Control Circuit Rating Code)B 300max. rated operational voltage300 V ACmaximum continuous thermal current at B 300 5 Amax. making/breaking apparent power at B 3003600 VA / 360 VAMechanical lifetime30 x 106 switching cyclesElectrical lifetime AC-12, 230 V, 4 A0.1 x 106 switching cyclesMaximum fuse rating to achieve short-circuit protection n/c contact 6 A fast-acting n/o contact10 A fast-acting4 - Electronic timer CT-ERD.22 | Data sheetMTBF on requestDuty time100 %Dimensions (W x H x D)product dimensions17.5 x 80 x 58 mm (0.69 x 3.15 x 2.28 in)packaging dimensions89 x 65 x 20 mm (3.50 x 2.56 x 0.79 in)Weight Nettogewicht0.068 kg (0.150 lb)Bruttogewicht0.081 kg (0.179 lb)Mounting DIN rail (IEC/EN 60715), snap-on mounting without any tool Mounting position anyMinimum distance to other units, normal operation mode horizontal not necessary vertical not necessaryDegree of protection housing IP50terminals IP20Electrical connectionConnecting capacity fine-strand with wire end ferrule 2 x 0.5-1.5 mm2 / 1 x 0.5-2.5 mm2 (2 x 20-16 AWG / 1 x 20-14 AWG) fine-strand without wire end ferrule 2 x 0.5-1.5 mm2 / 1 x 0.5-2.5 mm2 (2 x 20-16 AWG / 1 x 20-14 AWG)rigid 2 x 0.5-1.5 mm2 / 1 x 0.5-4 mm2 (2 x 20-16 AWG / 1 x 20-12 AWG) Stripping length7 mm (0.28 in)Tightening torque0.5-0.8 Nm (4.43-7.08 lb.in)Environmental dataAmbient temperature ranges operation -20...+60 °C (-4...+140 °F)storage-40...+85 °C (-40...+185 °F)Climatic class (IEC/EN 60068-2-30)3k3Relative humidity range25 % to 85 %Vibration, sinusoidal (IEC/EN 60068-2-6)20 m/s2, 10 cycles, 10...150...10 HzShock, half-sine (IEC/EN 60068-2-27)150 m/s2, 11 msIsolation dataRated insulation voltage U i input circuit / output circuit300 Voutput circuit 1 / output circuit 2300 VRated impulse withstand voltage U imp between all isolated circuits 4 kV; 1.2/50 μsPower-frequency withstand voltage between all isolated circuits(test voltage)2.5 kV, 50 Hz, 60 sBasic insulation (IEC/EN 61140)input circuit / output circuit300 VProtective separation (IEC/EN 61140, EN 50178)input circuit / output circuit250 VPollution degree3Overvoltage category IIIStandards / DirectivesStandards IEC/EN 61812-1Low Voltage Directive2014/35/EUEMC directive2014/30/EURoHS Directive2011/65/ECData sheet| Electronic timer CT-ERD.22 - 56 - Electronic timer CT-ERD.22 | Data sheetElectromagnetic compatibilityInterference immunity toIEC/EN 61000-6-2electrostatic discharge IEC/EN 61000-4-2Level 3 (6 kV / 8 kV)radiated, radio-frequency, electromagnetic fieldIEC/EN 61000-4-3Level 3 (10 V/m)electrical fast transient / burst IEC/EN 61000-4-4Level 3 (2 kV / 5 kHz)surgeIEC/EN 61000-4-5Level 3 (2 kV L-L)conducted disturbances, induced by radio-frequency fields IEC/EN 61000-4-6Level 3 (10 V)Interference emissionIEC/EN 61000-6-3high-frequency radiated IEC/CISPR 22,EN 55022Class Bhigh-frequency conductedIEC/CISPR 22,EN 55022Class BTechnical diagramsLoad limit curvesAC load (resistive) DC load (resistive)Derating factor F for inductive AC loadContact lifetimeDimensionsin mm andinchesFurther documentationDocument title Document type Document numberElectronic products and relays Technical catalogue2CDC 110 004 C02xxCT-D range Instruction manual1SVC 500 010 M1000You can find the documentation on the internet at /lowvoltage-> Automation, control and protection -> Electronic relays and controls -> Electronic timers.CAD system filesYou can find the CAD files for CAD systems at -> Low Voltage Products & Systems -> Control Products -> Electronic Relays and Controls.Data sheet| Electronic timer CT-ERD.22 - 7ABB STOTZ-KONTAKT GmbHP. O. Box 10 16 8069006 Heidelberg, Germany Phone: +49 (0) 6221 7 01-0Fax: +49 (0) 6221 7 01-13 25E-mail:*****************.comYou can find the address of your local sales organisation on theABB home page/contacts-> Low Voltage Products and Systems Contact usNote:We reserve the right to make technical changes or modify the contents of this document without prior notice. With regard to purchase orders, the agreed particulars shall prevail. ABB AG does not accept any responsibility whatsoever for potential errors or possible lack of information in this document.We reserve all rights in this document and in the subject matter and illustrations contained therein. Any reproduction, disclosure to third parties or utilization of its contents – in wholeor in parts – is forbidden without prior written consent of ABB AG.Copyright© 2016 ABBAll rights reserved D o c u m e n t n u m b e r 2 C D C 1 1 1 1 6 0 D 0 2 0 1 ( 0 8 . 2 0 1 6 )。
1Capacitive switchCPSRing illuminationgreen CPSSurface backlightingred CPSRing illuminationblueSee below:Approvals and CompliancesDescription- Capacitive touch sensor as momentary push button (NO or NC) or as latching switch (LA)- Protection against unintended switching - Multicolor illumination- Floating switch connections - Laser lettering possible - Vandal resistant- Wires (8 wires for Multicolor, 4 wires otherwise)²Unique Selling Proposition- Variable supply voltage - Constant LED intensity- Inputs protected against overvoltage - Galvanic separated outputsCharacteristics- Housing made from stainless steel- Various illumination colors and color combinations possible- Touch surface made from scratch-resistant ceramics with area illumi-nation or made from stainless steel with ring illumination - Ring or area illumination - Wearless, no moving parts- Attractive design with or without finger guide availableWeblinkshtml datasheet , General Product Information , CAD-Drawings , Product News , Detailed request for product , MicrositeImportant information- The CPS is not suitable for use in sanitary or other applications exposed to water or other liquids. - The housing is connected to gnd.T echnical DataElectrical Data Switching Function momentary (NO¹) or latching Switching Voltage max. 42 VAC␣/ 60 VDC Switching Current max. 100 mA Electrical Rating1 WSwitch Resistance OFF > 10 M ΩSwitch Resistance ON < 16 ΩSupply Voltage5 - 28 VDCCurrent Consumption all LEDs off2.5 mA (switch is open)8.5 mA (switch is closed)Current Consumption 1 LED on8.0 mA (switch is open)14.0 mA (switch is closed)Current Consumption 2 LED on14.0 mA (switch is open)20.0 mA (switch is closed)Current Consumption 3 LED on19.0 mA (switch is open)25.0 mA (switch is closed)Reverse Polarity Protection yes Short Circuit Protection yesOutput Type OptoMOS Relay Lifetime5 million actuationsconnection typeWires (8 wires for Multicolor, 4 wires otherwise)²Mechanical Data Actuation Type capacitive Actuating Force none Shock Protection IK 09Mounting Depthwith Finger Guide: 30.3 mm without Finger Guide: 30 mm Tightening Torque Plastic Nut 2.5 NmClimatical DataOperating Temperature -40 to 60 °C Storage Temperature-40 to 85 °CIP Protection Class Front Side IP67 acc. to IEC 60529Salt Spray Test (acc. to DIN 50021-SS)24 h / 48 h / 96 h Residence TimeMaterial Housings Stainless SteelActuatorArea Illumination: CeramicsRing Illumination: Stainless steel Illuminated Ring (Ring Illumi-nation)PMMA Seal RingNBR70¹ on request also available as NC / ² on request also available with cable or connectorApprovals and CompliancesDetailed information on product approvals, code requirements, usage instructions and detailed test conditions can be looked up in Details about ApprovalsSCHURTER products are designed for use in industrial environments. They have approvals from independent testing bodies according to national and international standards. Products with specific characteristics and requirements such as required in the automotive sector according to IATF 16949, medical technology according to ISO 13485 or in the aerospace industry can be offered exclusively with customer-specific, individual agree-ments by SCHURTER.Application standardsApplication standards where the product can be usedOrganization Design StandardDescriptionDesigned for applications acc.IEC/UL 60950IEC 60950-1 includes the basic requirements for the safety of informationtechnology equipment.CompliancesThe product complies with following Guide LinesIdentification Details InitiatorDescriptionRoHS SCHURTER AGDirective RoHS 2011/65/EU, Amendment (EU) 2015/836REACH SCHURTER AG On 1 June 2007, Regulation (EC) No 1907/2006 on the Registration,Evaluation, Authorization and Restriction of Chemicals 1 (abbreviated as"REACH") entered into force.Dimension [mm]CPS with ring illuminating, with finger guideCPS with ring illuminating, no finger guide23CPS with area illuminating, with finger guideCPS with area illuminating, no finger guideA= illuminating areaB= CPS16: 19.5 mm C= CPS16: M16x1 D= CPS16: 14.7 mm E= CPS16: ø20 mm CPS19: 23.0 mm CPS19: M19x0.75 CPS19: 14.5 mm CPS19: ø24 mm CPS22: 25.5 mm CPS22: M22x1 CPS22: 14.5 mm CPS22: ø27.6 mm4Connection wire assignmentConnection wire assignmentfunction functionVin = 5 VDC...28 VDCVin = 5 VDC...28 VDCGND GND OUT1OUT1OUT2OUT2GNDLED red GND = ON Open* = OFF LED green GND = ON Open* = OFF LED blue GND = ON Open* = OFFWire 1Wire 1brown brown black black white white white white red green blue blackWire 3Wire 3Wire 4Wire 4Wire 5Wire 6Wire 8Wire 7Wire 2Wire 2Wire-numberWire-numberWire colorWire colorFor all other configurationsFor multicolor configurations* internal pull-up resistor to vcc = 3.3 VDimension+0.1CPS16+0.1CPS19CPS22Diagramsexample for system controlled colorsIllumination options for RGB5074 =075 =076 =077 = 6Configuration code for configuring customized variants (example)16 = 16 mm 19 = 19 mm 22 = 22 mm 0RW = Red/White0GR = Green/Red0GB = Green/Blue0GC = Green/Cyan0GM = Green/Magenta 0GY = Green/Yellow0GW = Green/White0BR = Blue/Red0BG = Blue/Green0BC = Blue/Cyan0BM = Blue/Magenta 0BY = Blue/Yellow0BW = Blue/White0CR = Cyan/Red0CG = Cyan/Green0CB = Cyan/Blue0CM = Cyan/Magenta 0CE = Cyan/Yellow0CW = Cyan/White0MR = Magenta/Red 0MG = Magenta/Green 0MB = Magenta/Blue 0MC = Magenta/Cyan 0MY = Magenta/Yellow 0MW = Magenta/White 0YR = Yellow/Red0YG = Yellow/Green0YB = Yellow/Blue0YC = Yellow/Cyan0YM = Yellow/Magenta 0YW = Yellow/White0WR = White/Red0WG = White/Green0WB = White/Blue0WC = White/Cyan0WM = White/Magenta 0WY = White/YellowFor customized variants a minimum order quantity of 100 pieces has to be fulfi lled.7All VariantsPackaging unit 10 STThe specifications, descriptions and illustrations indicated in this document are based on current information. All content is subject to modifications and amendments. Information furnished is believed 3 0 . 0 5 . 2 0 1 98。
基于Simulink的忆阻器模型宋卫平;丁山传;宁爱平【摘要】为了使忆阻器具有与其他器件相结合的能力,本文在惠普实验室提出的忆阻器物理模型电路关系的基础上,在Simulink中用二种方法对忆阻器进行了双端口建模,方便准确的实现了对于忆阻器的仿真.与编写M文件、构建图形用户界面和搭建输入输出模型的建模方法相比,基于Simulink的双端口模型不仅能够方便准确的观察忆阻器的输入输出特性,而且具有更广阔的应用范围,对于忆阻器的研究有一定的指导作用.【期刊名称】《太原科技大学学报》【年(卷),期】2014(035)001【总页数】5页(P23-27)【关键词】忆阻器;Simulink;仿真模型【作者】宋卫平;丁山传;宁爱平【作者单位】太原科技大学电子信息工程学院,太原030024;太原科技大学电子信息工程学院,太原030024;太原科技大学电子信息工程学院,太原030024【正文语种】中文【中图分类】TN601蔡少堂教授在1971年根据电路理论的完备性,提出了忆阻器的定义[1]。
2008年惠普实验室制造出了首个纳米级的忆阻器物理模型,并通过实验证明了忆阻器是一种具有记忆功能的无源非线性二端电路元件[2]。
忆阻器作为第四类基本元器件,能够有效提升电路的集成度[3];简化混沌电路的电路结构[4];为研制新型计算机开辟道路[5];并有望把人工神经网络的信息处理方式和非易失性模拟存储器变为现实[6]。
但对大多数研究者来讲,忆阻器的物理模型难以得到,所以建立精确的仿真模型就显的至关重要了。
本文首先在忆阻器的理论基础,研究了惠普忆阻器模型的电路关系,然后在Simulink中用二种不同方法对忆阻器进行仿真。
方法一通过受控电压源实现对于忆阻器阻值变化的模拟。
方法二通过在Simulink环境下应用Simscape系统提供的非线性电阻来实现对于忆阻器阻值变化的模拟。
这两种方法不但能够方便准确的观察忆阻器的输入输出特性,而且具有与其他器件相结合的能力。
Package‘MDFS’May10,2023Title MultiDimensional Feature SelectionVersion1.5.3Date2023-05-09URL https://www.mdfs.it/Description Functions for MultiDimensional Feature Selection(MDFS):calculating multidimensional information gains,scoring variables,finding important variables,plotting selection results.This package includes an optional CUDA implementation that speeds upinformation gain calculation using NVIDIA GPGPUs.R.Piliszek et al.(2019)<doi:10.32614/RJ-2019-019>.Depends R(>=3.4.0)License GPL-3SystemRequirements C++17NeedsCompilation yesEncoding UTF-8LazyData trueRoxygenNote7.2.3Author Radosław Piliszek[aut,cre],Krzysztof Mnich[aut],PawełTabaszewski[aut],Szymon Migacz[aut],Andrzej Sułecki[aut],Witold Remigiusz Rudnicki[aut]Maintainer Radosław Piliszek<******************.pl>Repository CRANDate/Publication2023-05-0923:40:06UTCR topics documented:AddContrastVariables (2)12AddContrastVariables as.data.frame.MDFS (3)ComputeInterestingTuples (3)ComputeInterestingTuplesDiscrete (5)ComputeMaxInfoGains (7)ComputeMaxInfoGainsDiscrete (8)ComputePValue (9)Discretize (11)GenContrastVariables (12)GetRange (12)madelon (13)MDFS (14)mdfs_omp_set_num_threads (15)plot.MDFS (16)RelevantVariables (16)RelevantVariables.MDFS (17)Index18 AddContrastVariables Add contrast variables to dataDescriptionThis function is deprecated.Please use GenContrastVariables instead.UsageAddContrastVariables(data,n.contrast=max(ncol(data)/10,30))Argumentsdata data organized in matrix with separate variables in columnsn.contrast number of constrast variables(defaults to max of1/10of variables number and30)ValueA list with the following key names:•indices–vector of indices of input variables used to construct contrast variables•x–data with constrast variables appended to it•mask–vector of booleans making it easy to select just contrast variablesas.data.frame.MDFS3 as.data.frame.MDFS as.data.frame S3method implementation for MDFSDescriptionas.data.frame S3method implementation for MDFSUsage##S3method for class MDFSas.data.frame(x,...)Argumentsx an MDFS object...ignoredValuedata.frameComputeInterestingTuplesInteresting tuplesDescriptionInteresting tuplesUsageComputeInterestingTuples(data,decision=NULL,dimensions=2,divisions=1,discretizations=1,seed=NULL,range=NULL,pc.xi=0.25,ig.thr=0,I.lower=NULL,interesting.vars=vector(mode="integer"),require.all.vars=FALSE,return.matrix=FALSE,stat_mode="MI",average=FALSE)Argumentsdata input data where columns are variables and rows are observations(all numeric) decision decision variable as a binary sequence of length equal to number of observations dimensions number of dimensions(a positive integer;5max)divisions number of divisions(from1to15)discretizationsnumber of discretizationsseed seed for PRNG used during discretizations(NULL for random)range discretization range(from0.0to1.0;NULL selects probable optimal number) pc.xi parameter xi used to compute pseudocounts(the default is recommended not to be changed)ig.thr IG threshold above which the tuple is interesting(0and negative mean nofilter-ing)I.lower IG values computed for lower dimension(1D for2D,etc.)interesting.varsvariables for which to check the IGs(none=all)require.all.varsboolean whether to require tuple to consist of only interesting.vars return.matrix boolean whether to return a matrix instead of a list(ignored if not using the optimised method variant)stat_mode character,one of:"MI"(mutual information,the default;becomes information gain when decision is given),"H"(entropy;becomes conditional entropy whendecision is given),"VI"(variation of information;becomes target informationdifference when decision is given);decides on the value computed average boolean whether to average over discretisations instead of maximising(the de-fault)DetailsIf running in2D and nofiltering is applied,this function is able to run in an optimised fashion.It is recommended to avoidfiltering in2D if only it is feasible.This function calculates what stat_mode dictates.When decision is omitted,the stat_mode is calculated on the descriptive variables.When decision is given,the stat_mode is calculated on the decision variable,conditional on the other variables.Translate"IG"to that value in the rest of this function’s description.ValueA data.frame or NULL(following a warning)if no tuples are found.The following columns are present in the data.frame:•Var–interesting variable index•Tuple.1,Tuple.2,...–corresponding tuple(up to dimensions columns)•IG–information gain achieved by var in Tuple.*Additionally attribute named run.params with run parameters is set on the result.Examplesig.1d<-ComputeMaxInfoGains(madelon$data,madelon$decision,dimensions=1,divisions=1,range=0,seed=0)ComputeInterestingTuples(madelon$data,madelon$decision,dimensions=2,divisions=1,range=0,seed=0,ig.thr=100,I.lower=ig.1d$IG)ComputeInterestingTuplesDiscreteInteresting tuples(discrete)DescriptionInteresting tuples(discrete)UsageComputeInterestingTuplesDiscrete(data,decision=NULL,dimensions=2,pc.xi=0.25,ig.thr=0,I.lower=NULL,interesting.vars=vector(mode="integer"),require.all.vars=FALSE,return.matrix=FALSE,stat_mode="MI")Argumentsdata input data where columns are variables and rows are observations(all discrete with the same number of categories)decision decision variable as a binary sequence of length equal to number of observations dimensions number of dimensions(a positive integer;5max)pc.xi parameter xi used to compute pseudocounts(the default is recommended not to be changed)ig.thr IG threshold above which the tuple is interesting(0and negative mean nofilter-ing)I.lower IG values computed for lower dimension(1D for2D,etc.)interesting.varsvariables for which to check the IGs(none=all)require.all.varsboolean whether to require tuple to consist of only interesting.vars return.matrix boolean whether to return a matrix instead of a list(ignored if not using the optimised method variant)stat_mode character,one of:"MI"(mutual information,the default;becomes information gain when decision is given),"H"(entropy;becomes conditional entropy whendecision is given),"VI"(variation of information;becomes target informationdifference when decision is given);decides on the value computedDetailsIf running in2D and nofiltering is applied,this function is able to run in an optimised fashion.It is recommended to avoidfiltering in2D if only it is feasible.This function calculates what stat_mode dictates.When decision is omitted,the stat_mode is calculated on the descriptive variables.When decision is given,the stat_mode is calculated on the decision variable,conditional on the other variables.Translate"IG"to that value in the rest of this function’s description.ValueA data.frame or NULL(following a warning)if no tuples are found.The following columns are present in the data.frame:•Var–interesting variable index•Tuple.1,Tuple.2,...–corresponding tuple(up to dimensions columns)•IG–information gain achieved by var in Tuple.*Additionally attribute named run.params with run parameters is set on the result.Examplesig.1d<-ComputeMaxInfoGainsDiscrete(madelon$data>500,madelon$decision,dimensions=1) ComputeInterestingTuplesDiscrete(madelon$data>500,madelon$decision,dimensions=2,ig.thr=100,I.lower=ig.1d$IG)ComputeMaxInfoGains7 ComputeMaxInfoGains Max information gainsDescriptionMax information gainsUsageComputeMaxInfoGains(data,decision,contrast_data=NULL,dimensions=1,divisions=1,discretizations=1,seed=NULL,range=NULL,pc.xi=0.25,return.tuples=FALSE,interesting.vars=vector(mode="integer"),require.all.vars=FALSE,use.CUDA=FALSE)Argumentsdata input data where columns are variables and rows are observations(all numeric) decision decision variable as a binary sequence of length equal to number of observations contrast_data the contrast counterpart of data,has to have the same number of observations-not supported with CUDAdimensions number of dimensions(a positive integer;5max)divisions number of divisions(from1to15;additionally limited by dimensions if using CUDA)discretizationsnumber of discretizationsseed seed for PRNG used during discretizations(NULL for random)range discretization range(from0.0to1.0;NULL selects probable optimal number) pc.xi parameter xi used to compute pseudocounts(the default is recommended not to be changed)return.tuples whether to return tuples(and relevant discretization number)where max IG was observed(one tuple and relevant discretization number per variable)-not sup-ported with CUDA nor in1D8ComputeMaxInfoGainsDiscrete interesting.varsvariables for which to check the IGs(none=all)-not supported with CUDA require.all.varsboolean whether to require tuple to consist of only interesting.vars use.CUDA whether to use CUDA acceleration(must be compiled with CUDA)ValueA data.frame with the following columns:•IG–max information gain(of each variable)•Tuple.1,Tuple.2,...–corresponding tuple(up to dimensions columns,available onlywhen return.tuples==T)•Discretization.nr–corresponding discretization number(available only when return.tuples ==T)Additionally attribute named run.params with run parameters is set on the result.ExamplesComputeMaxInfoGains(madelon$data,madelon$decision,dimensions=2,divisions=1,range=0,seed=0)ComputeMaxInfoGainsDiscreteMax information gains(discrete)DescriptionMax information gains(discrete)UsageComputeMaxInfoGainsDiscrete(data,decision,contrast_data=NULL,dimensions=1,pc.xi=0.25,return.tuples=FALSE,interesting.vars=vector(mode="integer"),require.all.vars=FALSE)Argumentsdata input data where columns are variables and rows are observations(all discrete with the same number of categories)decision decision variable as a binary sequence of length equal to number of observations contrast_data the contrast counterpart of data,has to have the same number of observations dimensions number of dimensions(a positive integer;5max)pc.xi parameter xi used to compute pseudocounts(the default is recommended not to be changed)return.tuples whether to return tuples where max IG was observed(one tuple per variable)-not supported with CUDA nor in1Dinteresting.varsvariables for which to check the IGs(none=all)-not supported with CUDA require.all.varsboolean whether to require tuple to consist of only interesting.varsValueA data.frame with the following columns:•IG–max information gain(of each variable)•Tuple.1,Tuple.2,...–corresponding tuple(up to dimensions columns,available only when return.tuples==T)•Discretization.nr–always1(for compatibility with the non-discrete function;available only when return.tuples==T)Additionally attribute named run.params with run parameters is set on the result.ExamplesComputeMaxInfoGainsDiscrete(madelon$data>500,madelon$decision,dimensions=2) ComputePValue Compute p-values from information gains and return MDFSDescriptionCompute p-values from information gains and return MDFSUsageComputePValue(IG,dimensions,divisions,response.divisions=1,df=NULL,contrast.mask=NULL,ig.in.bits=TRUE,ig.doubled=FALSE,one.dim.mode="exp",irr.vars.num=NULL,ign.low.ig.vars.num=NULL,min.irr.vars.num=NULL,max.ign.low.ig.vars.num=NULL,search.points=8,level=0.05)ArgumentsIG max conditional information gainsdimensions number of dimensionsdivisions number of divisionsresponse.divisionsnumber of response divisions(i.e.categories-1)df vector of degrees of freedom for each variable(optional)contrast.mask boolean mask on IG specifying which variables are contrast variables(or NULL if none,otherwise at least3variables must be marked)ig.in.bits TRUE if input is in binary log(as opposed to natural log)ig.doubled TRUE if input is doubled(to follow the chi-squared distribution)one.dim.mode exp for exponential distribution, lin for linear function of chi-squared or raw for raw chi-squaredirr.vars.num if not NULL,number of irrelevant variables,specified by the userign.low.ig.vars.numif not NULL,number of ignored low IG variables,specified by the user min.irr.vars.numminimum number of irrelevant variables(NULL selects probable optimal num-ber)max.ign.low.ig.vars.nummaximum number of ignored low IG variables(NULL selects probable optimalnumber)search.points number of points in search procedure for the optimal number of ignored vari-ableslevel acceptable error level of goodness-of-fit one-sample Kolmogorov-Smirnov test (used only for warning)Discretize11ValueA data.frame with class set to MDFS.Can be coerced back to data.frame using as.data.frame.The following columns are present:•IG–information gains(input copy)•chi.squared.p.value–chi-squared p-values•p.value–theoretical p-valuesAdditionally the following attributes are set:•run.params–run parameters•sq.dev–vector of square deviations used to estimate the number of irrelevant variables•dist.param–distribution parameter•err.param–squared error of the distribution parameter•fit.p.value–p-value offitExamplesComputePValue(madelon$IG.2D,dimensions=2,divisions=1)Discretize Discretize variable on demandDescriptionDiscretize variable on demandUsageDiscretize(data,variable.idx,divisions,discretization.nr,seed,range) Argumentsdata input data where columns are variables and rows are observations(all numeric) variable.idx variable index(as it appears in data)divisions number of divisionsdiscretization.nrdiscretization number(positive integer)seed seed for PRNGrange discretization rangeValueDiscretized variable.ExamplesDiscretize(madelon$data,3,1,1,0,0.5)12GetRange GenContrastVariables Generate contrast variables from dataDescriptionGenerate contrast variables from dataUsageGenContrastVariables(data,n.contrast=max(ncol(data),30))Argumentsdata data organized in matrix with separate variables in columnsn.contrast number of constrast variables(defaults to max of1/10of variables number and30)ValueA list with the following key names:•indices–vector of indices of input variables used to construct contrast variables•x–data with constrast variables appended to it•mask–vector of booleans making it easy to select just contrast variablesExamplesGenContrastVariables(madelon$data)GetRange Get the recommended range for multiple discretisationsDescriptionGet the recommended range for multiple discretisationsUsageGetRange(k=3,n,dimensions,divisions=1)Argumentsk the assumed minimum number of objects in a bucket(the default is the recom-mended value)n the total number of objects considereddimensions the number of dimensions of analysisdivisions the number of divisions of discretisationsmadelon13 ValueThe recommended range value(afloating point number).ExamplesGetRange(n=250,dimensions=2)madelon An artificial dataset called MADELONDescriptionAn artificial dataset containing data points grouped in32clusters placed on the vertices of afive dimensional hypercube and randomly labeled0/1.UsagemadelonFormatA list of two elements:data2000by500matrix of2000objects with500featuresdecision vector of2000decisions(labels0/1)IG.2D example2D IG computed using ComputeMaxInfoGainsDetailsThefive dimensions constitute5informative features.15linear combinations of those features are added to form a set of20(redundant)informative features.There are480distractor features called ’probes’having no predictive power.Included is the original training set with label-1changed to0.Sourcehttps:///ml/datasets/Madelon14MDFS MDFS Run end-to-end MDFSDescriptionRun end-to-end MDFSUsageMDFS(data,decision,n.contrast=max(ncol(data),30),dimensions=1,divisions=1,discretizations=1,range=NULL,pc.xi=0.25,p.adjust.method="holm",level=0.05,seed=NULL,use.CUDA=FALSE)Argumentsdata input data where columns are variables and rows are observations(all numeric) decision decision variable as a boolean vector of length equal to number of observations n.contrast number of constrast variables(defaults to max of1/10of variables number and30)dimensions number of dimensions(a positive integer;on CUDA limited to2–5range) divisions number of divisions(from1to15)discretizationsnumber of discretizationsrange discretization range(from0.0to1.0;NULL selects probable optimal number) pc.xi parameter xi used to compute pseudocounts(the default is recommended not to be changed)p.adjust.methodmethod as accepted by p.adjust("BY"is recommended for FDR,see Details) level statistical significance levelseed seed for PRNG used during discretizations(NULL for random)use.CUDA whether to use CUDA acceleration(must be compiled with CUDA;NOTE:the CUDA version might provide a slightly lower sensitivity due to a lack of nativesupport for contrast_data)mdfs_omp_set_num_threads15 DetailsIn case of FDR control it is recommended to use Benjamini-Hochberg-Yekutieli p-value adjustment method("BY"in p.adjust)due to unknown dependencies between tests.ValueA list with the followingfields:•contrast.indices–indices of variables chosen to build contrast variables•contrast.variables–built contrast variables•MIG.Result–result of ComputeMaxInfoGains•MDFS–result of ComputePValue(the MDFS object)•statistic–vector of statistic’s values(IGs)for corresponding variables•p.value–vector of p-values for corresponding variables•adjusted.p.value–vector of adjusted p-values for corresponding variables•relevant.variables–vector of relevant variables indicesExamplesMDFS(madelon$data,madelon$decision,dimensions=2,divisions=1,range=0,seed=0)mdfs_omp_set_num_threadsCall omp_set_num_threadsDescriptionCall omp_set_num_threadsUsagemdfs_omp_set_num_threads(num_threads)Argumentsnum_threads input data where columns are variables and rows are observations(all numeric)plot.MDFS Plot MDFS detailsDescriptionPlot MDFS detailsUsage##S3method for class MDFSplot(x,plots=c("ig","c","p"),...)Argumentsx an MDFS objectplots plots to plot(ig for max IG,c for chi-squared p-values,p for p-values) ...passed on to plotRelevantVariables Find indices of relevant variablesDescriptionFind indices of relevant variablesUsageRelevantVariables(fs,...)Argumentsfs feature selector...arguments passed to methodsValueindices of important variablesRelevantVariables.MDFSFind indices of relevant variables from MDFSDescriptionFind indices of relevant variables from MDFSUsage##S3method for class MDFSRelevantVariables(fs,level=0.05,p.adjust.method="holm",...)Argumentsfs an MDFS objectlevel statistical significance levelp.adjust.methodmethod as accepted by p.adjust("BY"is recommended for FDR,see Details) ...ignoredDetailsIn case of FDR control it is recommended to use Benjamini-Hochberg-Yekutieli p-value adjustment method("BY"in p.adjust)due to unknown dependencies between tests.Valueindices of relevant variablesIndex∗datasetsmadelon,13 AddContrastVariables,2as.data.frame,11as.data.frame.MDFS,3attributes,11 ComputeInterestingTuples,3 ComputeInterestingTuplesDiscrete,5 ComputeMaxInfoGains,7 ComputeMaxInfoGainsDiscrete,8 ComputePValue,9data.frame,5,6,8,9,11Discretize,11 GenContrastVariables,12GetRange,12list,15madelon,13MDFS,14mdfs_omp_set_num_threads,15NULL,5,6p.adjust,14,15,17plot,16plot.MDFS,16RelevantVariables,16 RelevantVariables.MDFS,1718。
专利名称:OPTIMIZATION OF MULTI-DIMENSIONAL TIME SERIES PROCESSING FOR SEIZUREWARNING AND PREDICTION发明人:SACKELLARES, James, Chris,IASEMIDIS,Leonidas, D.,SHIAU, Deng-Shan,DANCE, Linda 申请号:US2003026642申请日:20030827公开号:WO04/036804P1公开日:20040429专利内容由知识产权出版社提供摘要:Characterizing the behavior of a chaotic, multi-dimensional system is achieved by measuring each of a number of signals associated with the system, and generating therefrom, a spatio-temporal response based on each signal. Chaoticity profiles are then generated for each spatio-temporal response. Over a period of time, a determination is made as to whether a certain level of dynamic entrainment and/or disentrainment exists between the chaoticity profiles associated with one or more critical channel groups of a selected predictor, where a predictor represents a given number of critical channel groups 'x', a given number of channels per group 'y', and a total number of channels N. Characterizing the behavior of the system is based on this determination.申请人:UNIVERSITY OF FLORIDA,ARIZONA STATE UNIVERSITY地址:223 Grinter Hall P.O. Box 11550 Gainesville, FL 23611-5500 US,1711 South Rural Road Argicultural Building, Room 212 PO Box 873511 Tempe, AZ 85287-3511 US 国籍:US,US代理机构:KRESLOFF, Mark, R.更多信息请下载全文后查看。
iProx inductive proximity sensors—mounting close togetherDescriptionThe iProxீ is a powerful family of inductive proximity sensors featuring high sensing performance right out of the box. What makes the iProx unique from other inductive sensors is the ability to extensively customize the operating characteristics to suit a particular application.Mounting sensors close togetherWhen mounting iProx sensors close together, it is necessary to take into consideration problems that can be causedby two or more sensors communicating with each other (also known as “cross-talk”). This problem can arise when two or more sensors are mounted side by side (as shown in Figure 1) or facing each other (as shown in Figure 2).Figure 1. Proximity Sensors Mounted Side by SideFigure 2. Proximity Sensors Mounted Facing Each Other Standard inductive proximity sensors have a similar frequency and will interfere with each other when operated close together. Until iProx, your best solution may have been to buy special sensors designed to operate on different frequencies. The disadvantage of this solution is that your choice of sensing range and body style is usually very limited.The DC versions of iProx have three different noise immunity settings, while the AC versions have two settings. See Figure 3, Figure 4, Figure 5, and Figure 6 for optimum noise immunity settings based upon center-to-center spacing between mounted sensors. Note that in some cases, more than one noise immunity setting is available. In this case,the operator can choose the combinations of noise immunity settings most desirable for the application. The iProx breaks many of the traditional rules of inductive proximity sensors. For instance, it is possible to mount the sensors so that the sensing fields overlap, so long as the proper noise immunity settings are chosen.Figure 3. DC iProx Side-by-Side Configuration (S1)T able 1. DC iProx Side-by-Side Configuration (S1)Diameter (D)Sideby SideHigh NoiseImmunityFactoryDefault12 mm Shielded0–19 mmat 50 Hz0 mm–Infinityat 10 Hz30 mm–Infinityat 580 HzUnshielded0–40 mmat 50 Hz0 mm–Infinityat 10 Hz100 mm–Infinityat 300 Hz18 mm Shielded0–35 mmat 50 Hz0 mm–Infinityat 10 Hz80 mm–Infinityat 390 HzUnshielded0–75 mmat 50 Hz0 mm–Infinityat 10 Hz130 mm–Infinityat 150 Hz30 mm Shielded0–65 mmat 50 Hz0 mm–Infinityat 10 Hz110 mm–Infinityat 240 HzUnshielded0–75 mmat 50 Hz0 mm–Infinityat 10 Hz130 mm–Infinityat 90 Hz2Technical Data TD05301002EEffective June 2013iProx inductive proximity sensors—mounting close togetherEATON Figure 4. DC iProx Facing Configuration (S 2)T able 2. DC iProx Facing Configuration (S 2)Diameter (D)Side by SideHigh Noise ImmunityFactory Default12 mm Shielded 0–25 mm at 50 Hz 0 mm–Infinity at 10 Hz50 mm–Infinity at 580 HzUnshielded0–55 mm at 50 Hz 0 mm–Infinity at 10 Hz120 mm–Infinity at 300 Hz18 mm Shielded 0–45 mm at 50 Hz 0 mm–Infinity at 10 Hz100 mm–Infinity at 390 HzUnshielded0–90 mm at 50 Hz 0 mm–Infinity at 10 Hz160 mm–Infinity at 150 Hz30 mm Shielded 0–80 mm at 50 Hz 0 mm–Infinity at 10 Hz130 mm–Infinity at 240 HzUnshielded0–90 mm at 50 Hz 0 mm–Infinity at 10 Hz 160 mm–Infinity at 90 HzFigure 5. AC iProx Side-by-Side Configuration (S 1)T able 3. AC iProx Side-by-Side Configuration (S 1) ቢDiameter (D)Factory DefaultHigh Noise Immunity12 mm Shielded 0–19 mm/30 mm–Infinity at 30 Hz 0 mm–Infinity at 10 HzUnshielded0–40 mm/50 mm–Infinity at 30 Hz 0 mm–Infinity at 10 Hz18 mm Shielded 0–35 mm/80 mm–Infinity at 30 Hz 0 mm–Infinity at 10 HzUnshielded0–75 mm/130 mm–Infinity at 30 Hz 0 mm–Infinity at 10 Hz30 mm Shielded 0–65 mm/110 mm–Infinity at 30 Hz 0 mm–Infinity at 10 HzUnshielded0–75 mm/130 mm–Infinity at 30 Hz0 mm–Infinity at 10 HzቢThese specifications may not meet final product specifications.Figure 6. AC iProx Facing Configuration (S 2)T able 4. AC iProx Facing Configuration (S 2) ቢDiameter (D)Factory DefaultHigh Noise Immunity12 mm Shielded 0–25 mm/50 mm–Infinity at 30 Hz 0 mm–Infinity at 10 HzUnshielded0–55 mm/120 mm–Infinity at 30 Hz 0 mm–Infinity at 10 Hz18 mm Shielded 0–45 mm/100 mm–Infinity at 30 Hz 0 mm–Infinity at 10 HzUnshielded0–90 mm/160 mm–Infinity at 30 Hz 0 mm–Infinity at 10 Hz30 mm Shielded 0–80 mm/130 mm–Infinity at 30 Hz 0 mm–Infinity at 10 HzUnshielded0–90 mm/160 mm–Infinity at 30 Hz0 mm–Infinity at 10 Hzቢ These specifications may not meet final product specifications.ote:N There is a correlation between noise immunity and operatingfrequency. When setting the sensor for side-by-side sensing or high noise immunity, the operating frequency of the sensor will be reduced. Refer to the iProx Programming Software User Guide (P50228) for details.3Technical Data TD05301002EEffective June 2013iProx inductive proximity sensors—mounting close togetherEATON Setting iProx for side-by-side or facing sensingTo set up iProx sensors for side-by-side or face-to-face operation, just follow the simple procedure below. This process requires that the iProx programming software be installed on your computer. Consult the iProx Programming Software User Guide (P50228) for detailed installation and operating instructions.1. Connect the programming device to your computer. Connectthe remote programmer (E59RP1) to your computer’s serial or USB port. 2. Launch that the iProx programming software from the Start menu.3. Affix the magnetic puck to the face of the iProx sensor. To ensureproper mounting, it may be necessary to remove the mounting nuts from the sensor.4. Ensure that the sensor(s) you intend to program are powered on.5. The iProx programming software should automatically detect thesensor(s). See the “Connection Status” information displayed at the bottom of the “Getting Started” window to confirm that the software has detected the sensor(s). If the software does not detect the connected sensor, you may need to select a wider COM port range in the software settings. For more troubleshooting information, consult the iProx Programming Software User Guide (P50228) by clicking on the “Help” window and selecting “Contents/FAQs.”6. From the “Getting Started” window, click “Configure iProx” to modify the parameters of your iProx sensor.7. Under “Step 1: Select Sensor to Modify,” click the drop-downmenu and select the sensor you want to modify. It may take a few seconds to communicate with the sensor. Once this is complete, the rest of the screen should become enabled, allowing you to modify the parameters of the selected sensor.8. Under the “Response Time/Noise Immunity” section at the topright of the screen, drag the slider until you see the side-by-side value enabled.9. Click the “Program” button at the bottom of the screen. Repeatthis process for each sensor.Side-by-side vs. array sensingAlthough this procedure allows sensors to be operated close to other sensors in a side-by-side configuration (see Figure 7), Eaton does not recommend that iProx sensors be used in an array (Figure 8). It is possible that cross-ommunication can occur between sensors in an array. If the requirements of your application call for this arrangement, please contact Eaton’s Sensor ApplicationEngineering Department at 1-800-426-9184. They will work with youto find a solution.Figure 7. Sensors Oriented Side by SideFigure 8. Sensors Oriented in an ArrayTechnical Data TD05301002E Effective June 2013iProx inductive proximity sensors—mounting close togetherEaton is a registered trademark.All other trademarks are propertyof their respective owners.Eaton1000 Eaton BoulevardCleveland, OH 44122United States© 2013 EatonAll Rights ReservedPrinted in USAPublication No. TD05301002E / Z13430 June 2013。
Package‘gridtext’October13,2022Type PackageTitle Improved Text Rendering Support for'Grid'GraphicsVersion0.1.5Description Provides support for rendering of formatted text using'grid'graphics.Text can be formatted via a minimal subset of'Markdown','HTML',and inline'CSS'directives,and it can be rendered both with and without word wrap.URL https:///gridtext/BugReports https:///wilkelab/gridtext/issuesLicense MIT+file LICENSEDepends R(>=3.5)Imports curl,grid,grDevices,markdown,rlang,Rcpp,png,jpeg,stringr,xml2Suggests covr,knitr,rmarkdown,testthat,vdiffrLinkingTo RcppEncoding UTF-8RoxygenNote7.1.1SystemRequirements C++11NeedsCompilation yesAuthor Claus O.Wilke[aut](<https:///0000-0002-7470-9261>),Brenton M.Wiernik[aut,cre](<https:///0000-0001-9560-6336>,@bmwiernik)Maintainer Brenton M.Wiernik<*******************>Repository CRANDate/Publication2022-09-1611:16:15UTCR topics documented:gridtext (2)richtext_grob (2)textbox_grob (4)1Index9 gridtext Improved text rendering support for grid graphicsDescriptionThe gridtext package provides two new grobs,richtext_grob()and textbox_grob(),which support drawing of formatted text labels and formatted text boxes,respectively.richtext_grob Draw formatted text labelsDescriptionThis grob acts mostly as a drop-in replacement for grid::textGrob()but provides more sophisti-cated formatting.The grob can handle basic markdown and HTML formatting directives,and it can also draw boxes around each piece of text.Note that this grob does not draw plotmath expressions. Usagerichtext_grob(text,x=unit(0.5,"npc"),y=unit(0.5,"npc"),hjust=0.5,vjust=0.5,halign=hjust,valign=vjust,rot=0,default.units="npc",margin=unit(c(0,0,0,0),"pt"),padding=unit(c(0,0,0,0),"pt"),r=unit(0,"pt"),align_widths=FALSE,align_heights=FALSE,name=NULL,gp=gpar(),box_gp=gpar(col=NA),vp=NULL,use_markdown=TRUE,debug=FALSE)Argumentstext Character vector containing Markdown/HTML strings to draw.x,y Unit objects specifying the location of the reference point.hjust,vjust Numerical values specifying the justification of the text boxes relative to x and y.These justification parameters are specified in the internal reference frame ofthe text boxes,so that,for example,hjust adjusts the vertical justification whenthe text is rotated90degrees to the left or right.halign,valign Numerical values specifying the text justification inside the text boxes.If not specified,these default to hjust and vjust.rot Angle of rotation for text,in degrees.default.units Units of x and y if these are provided only as numerical values.margin,paddingUnit vectors of four elements each indicating the margin and padding aroundeach text label in the order top,right,bottom,left.Margins are drawn outsidethe enclosing box(if any),and padding is drawn inside.To avoid renderingartifacts,it is best to specify these values in absolute units(such as points,mm,or inch)rather than in relative units(such as npc).r The radius of the rounded corners.To avoid rendering artifacts,it is best to specify this in absolute units(such as points,mm,or inch)rather than in relativeunits(such as npc).align_widths,align_heightsShould the widths and heights of all the text boxes be aligned?Default is no.name Name of the grob.gp Other graphical parameters for drawing.box_gp Graphical parameters for the enclosing box around each text label.vp Viewport.use_markdown Should the text input be treated as markdown?Default is yes.debug Should debugging info be drawn?Default is no.ValueA grid grob that represents the formatted text.See Alsotextbox_grob()Exampleslibrary(grid)text<-c("Some text**in bold.**","Linebreaks<br>Linebreaks<br>Linebreaks","*x*<sup>2</sup>+5*x*+*C*<sub>*i*</sub>","Some<span style= color:blue >blue text**in bold.**</span><br>And*italics text.*<br>And some<span style= font-size:18pt;color:black >large</span>text.")x<-c(.2,.1,.7,.9)y<-c(.8,.4,.1,.5)rot<-c(0,0,45,-45)gp=gpar(col=c("black","red"),fontfamily=c("Palatino","Courier","Times","Helvetica")) box_gp=gpar(col="black",fill=c("cornsilk",NA,"lightblue1",NA),lty=c(0,1,1,1)) hjust<-c(0.5,0,0,1)vjust<-c(0.5,1,0,0.5)g<-richtext_grob(text,x,y,hjust=hjust,vjust=vjust,rot=rot,padding=unit(c(6,6,4,6),"pt"),r=unit(c(0,2,4,8),"pt"),gp=gp,box_gp=box_gp)grid.newpage()grid.draw(g)grid.points(x,y,default.units="npc",pch=19,size=unit(5,"pt"))#multiple text labels with aligned boxestext<-c("January","February","March","April","May")x<-(1:5)/6+1/24y<-rep(0.8,5)g<-richtext_grob(text,x,y,halign=0,hjust=1,rot=45,padding=unit(c(3,6,1,3),"pt"),r=unit(4,"pt"),align_widths=TRUE,box_gp=gpar(col="black",fill="cornsilk"))grid.newpage()grid.draw(g)grid.points(x,y,default.units="npc",pch=19,size=unit(5,"pt"))textbox_grob Draw formatted multi-line text with word wrapDescriptionThe function textbox_grob()is intended to render multi-line text labels that require automatic word wrapping.It is similar to richtext_grob(),but there are a few important differences.First, while richtext_grob()is vectorized,textbox_grob()is not.It can draw only a single text box at a time.Second,textbox_grob()doesn’t support rendering the text box at arbitrary angles.Only four different orientations are supported,corresponding to a rotation by0,90,180,and270degrees.Usagetextbox_grob(text,x=NULL,y=NULL,width=unit(1,"npc"),height=NULL,minwidth=NULL,maxwidth=NULL,minheight=NULL,maxheight=NULL,hjust=0.5,vjust=0.5,halign=0,valign=1,default.units="npc",margin=unit(c(0,0,0,0),"pt"),padding=unit(c(0,0,0,0),"pt"),r=unit(0,"pt"),orientation=c("upright","left-rotated","right-rotated","inverted"),name=NULL,gp=gpar(),box_gp=gpar(col=NA),vp=NULL,use_markdown=TRUE)Argumentstext Character vector containing Markdown/HTML string to draw.x,y Unit objects specifying the location of the reference point.If set to NULL(the default),these values are chosen based on the values of hjust and vjust suchthat the box is appropriately justified in the enclosing viewport.width,height Unit objects specifying width and height of the grob.A value of NULL means take up exactly the space necessary to render all e a value of unit(1,"npc")to have the box take up all available space.minwidth,minheight,maxwidth,maxheightMin and max values for width and height.Set to NULL to impose neither aminimum nor a maximum.Note:minheight and maxheight do not work ifwidth=NULL.hjust,vjust Numerical values specifying the justification of the text box relative to the ref-erence point defined by x and y.These justification parameters are specified inthe internal reference frame of the text box,so that,for example,hjust adjuststhe vertical justification when the text box is left-or right-rotated.halign,valign Numerical values specifying the justification of the text inside the text box.default.units Units of x,y,width,height,minwidth,minheight,maxwidth,maxheight if these are provided only as numerical values.margin,paddingUnit vectors of four elements each indicating the margin and padding aroundeach text label in the order top,right,bottom,left.Margins are drawn outsidethe enclosing box(if any),and padding is drawn inside.To avoid renderingartifacts,it is best to specify these values in absolute units(such as points,mm,or inch)rather than in relative units(such as npc).r The radius of the rounded corners.To avoid rendering artifacts,it is best tospecify this in absolute units(such as points,mm,or inch)rather than in relativeunits(such as npc).orientation Orientation of the box.Allowed values are"upright","left-rotated","right-rotated", and"inverted",corresponding to a rotation by0,90,270,and180degreescounter-clockwise,respectively.name Name of the grob.gp Other graphical parameters for drawing.box_gp Graphical parameters for the enclosing box around each text label.vp Viewport.use_markdown Should the text input be treated as markdown?ValueA grid grob that represents the formatted text.See Alsorichtext_grob()Exampleslibrary(grid)g<-textbox_grob("**The quick brown fox jumps over the lazy dog.**<br><br>The quick brown fox jumps over the lazy dog.The**quick<span style= color:brown; >brown fox</span>**jumps over the lazy dog.The quick brown fox jumps over the lazy dog.",x=unit(0.5,"npc"),y=unit(0.7,"npc"),halign=0,valign=1,gp=gpar(fontsize=15),box_gp=gpar(col="black",fill="lightcyan1"),r=unit(5,"pt"),padding=unit(c(10,10,10,10),"pt"),margin=unit(c(0,10,0,10),"pt"))grid.newpage()grid.draw(g)#internal vs.external alignmentg1<-textbox_grob("The quick brown fox jumps over the lazy dog.",hjust=0,vjust=1,halign=0,valign=1,width=unit(1.5,"inch"),height=unit(1.5,"inch"),box_gp=gpar(col="black",fill="cornsilk"), padding=unit(c(2,2,2,2),"pt"),margin=unit(c(5,5,5,5),"pt"))g2<-textbox_grob("The quick brown fox jumps over the lazy dog.",hjust=1,vjust=1,halign=0.5,valign=0.5, width=unit(1.5,"inch"),height=unit(1.5,"inch"), box_gp=gpar(col="black",fill="cornsilk"), padding=unit(c(2,2,2,2),"pt"),margin=unit(c(5,5,5,5),"pt"))g3<-textbox_grob("The quick brown fox jumps over the lazy dog.",hjust=0,vjust=0,halign=1,valign=1,width=unit(1.5,"inch"),height=unit(1.5,"inch"), box_gp=gpar(col="black",fill="cornsilk"), padding=unit(c(2,2,2,2),"pt"),margin=unit(c(5,5,5,5),"pt"))g4<-textbox_grob("The quick brown fox jumps over the lazy dog.",hjust=1,vjust=0,halign=0,valign=0,width=unit(1.5,"inch"),height=unit(1.5,"inch"), box_gp=gpar(col="black",fill="cornsilk"), padding=unit(c(2,2,2,2),"pt"),margin=unit(c(5,5,5,5),"pt"))grid.newpage()grid.draw(g1)grid.draw(g2)grid.draw(g3)grid.draw(g4)#internal vs.external alignment,with rotated boxesg1<-textbox_grob("The quick brown fox jumps over the lazy dog.",hjust=1,vjust=1,halign=0,valign=1,width=unit(1.5,"inch"),height=unit(1.5,"inch"), orientation="left-rotated",box_gp=gpar(col="black",fill="cornsilk"), padding=unit(c(2,2,2,2),"pt"),margin=unit(c(5,5,5,5),"pt"))g2<-textbox_grob("The quick brown fox jumps over the lazy dog.",hjust=0,vjust=1,halign=0.5,valign=0.5, width=unit(1.5,"inch"),height=unit(1.5,"inch"), orientation="right-rotated",box_gp=gpar(col="black",fill="cornsilk"), padding=unit(c(2,2,2,2),"pt"),margin=unit(c(5,5,5,5),"pt"))g3<-textbox_grob("The quick brown fox jumps over the lazy dog.",hjust=1,vjust=1,halign=1,valign=1,width=unit(1.5,"inch"),height=unit(1.5,"inch"), orientation="inverted",box_gp=gpar(col="black",fill="cornsilk"), padding=unit(c(2,2,2,2),"pt"),margin=unit(c(5,5,5,5),"pt"))g4<-textbox_grob("The quick brown fox jumps over the lazy dog.",hjust=1,vjust=0,halign=0,valign=0,width=unit(1.5,"inch"),height=unit(1.5,"inch"), orientation="upright",box_gp=gpar(col="black",fill="cornsilk"), padding=unit(c(2,2,2,2),"pt"),margin=unit(c(5,5,5,5),"pt"))grid.newpage()grid.draw(g1)grid.draw(g2)grid.draw(g3)grid.draw(g4)Indexgrid::textGrob(),2gridtext,2grob,3,6plotmath,2richtext_grob,2richtext_grob(),2,4,6textbox_grob,4textbox_grob(),2,39。
AUGMENTED QUAD-EDGE – 3D DATA STRUCTURE FOR MODELLINGOF BUILDING INTERIORSP. Boguslawski a, C. Gold ba FacultyofAdvancedTechnology,UniversityofGlamorgan,************************************.ukb FacultyofAdvancedTechnology,UniversityofGlamorgan,**********************************.uk KEY WORDS: data structure, three-dimensional modelling, duality, Voronoi diagram, Delaunay tetrahedralizationABSTRACT:This work presents a new approach towards the construction and manipulation of 3D cells complexes, stored in the Augmented Quad-Edge (AQE) data structure. Each cell of a complex is constructed using the usual Quad-Edge structure, and the cells are then linked together by the dual edge that penetrates the face shared by two cells.We developed a new set of atomic operators that allow for a significant improvement of the related construction and navigation algorithms in terms of computational complexity. The idea is based on simultaneous construction of both the 3D Voronoi Diagram and its dual the Delaunay Triangulation.We expect that the increase of the efficiency related to the simultaneous manipulation of the both duals will allow for many new applications, like real-time analysis and simulation of modelled structures.1.INTRODUCTIONThe Voronoi diagram (VD) and the Delaunay triangulation/tetrahedralization (DT) can be used for modelling different kinds of data for different purposes. They can be usedto represent the boundaries of real-world features, for example geological modelling of strata or models of apartment buildings. The VD and the DT are dual – they represent the same thing from a different point of view – and both structures have interesting properties (Aurenhammer, 1991).The Delaunay triangulation of the set of points in two-dimensional Euclidean space is the triangulation of the point set with the property that no point falls in the interior of the circumcircle of any triangle in the triangulation. If we connect the centres of these circles between pairs of adjacent triangles we get the Voronoi diagram, the dual of the Delaunay triangulation, with one Voronoi edge associated with each Delaunay edge. The Voronoi diagram consists of cells around the data points such that any location in a particular cell is closer to its cell generating point than to any other (Mostafavi,et al., 2003).Most of the algorithms and implementations available to construct the 3D VD/DT store only the DT, and if needed the VD is extracted afterwards. This has major drawbacks if one wants to work with the VD. It is for example impossible to assign attributes to Voronoi vertices or faces. In many applications, the major constraint is not the speed of construction of the topological models of large number of number of points, but rather the ability to interactively construct, edit (by deleting or moving certain points) and query (interpolation, extraction of implicit surfaces, etc.) the desired model.The 2D case has already been solved with the Quad-Edge data structures of Guibas and Stolfi (1985). The structure permits the storage of any primal and dual subdivisions of a two-dimensional manifold. Dobkin and Laszlo (1989) have generalized the ideas behind the Quad-Edge structure to preserve the primal and dual subdivisions of a three-dimensional manifold. Their structure, the Facet-Edge, comes with an algebra to navigate through a subdivision and with primitives construction operators. Unlike the Quad-Edge that is being used in many implementations of the 2D VD/DT, the Facet-Edge has been found difficult to implement in practice. Other data structures (see (Lienhardt, 1994), (Lopes and Tavares, 1997)) can usually store only one subdivision.2.THE QUAD-EDGE DATA STRUCTUREThe Quad-Edge as a representation of one geometrical edge consists of four quads which point to two vertices of an edge and two neighbouring faces. It allows navigation from edge to edge of a connected graph embedded in a 2-manifold. Its advantages are firstly that there is no distinction between the primal and the dual representations, and secondly that all operations are performed as pointer operations only, thus giving an algebraic representation to its operations. Figure 1 shows the basic structure and navigation operators (next, rot and sym).Figure 1. The Quad-Edge structure and basic operators: rot, sym,next (Ledoux, 2006)3. AUGMENTED QUAD-EDGE (AQE)The AQE (Ledoux and Gold, in press), (Gold, et al., 2005) uses the Quad-Edge to represent each cell of a 3D complex, in either space. For instance, each tetrahedron and each Voronoi cell are independently represented with the Quad-Edge , which is a boundary representation. With this simple structure, it is possible to navigate within a single cell with the Quad-Edge operators, but in order to do the same for a 3D complex two things are missing: a ways to link adjacent cells in a given space, and also a mechanism to navigate to the dual space. In this case two of the four org pointers are not used in 3D. The idea is to use the free face pointers in the Quad-Edge to link two cells sharing a face. This permits us to link cells together in either space, and also to navigate from a space to its dual. Indeed, we may move from any Quad-Edge to a Quad-Edge in the dual cell complex, and from there we may return to a different cell in the original cell complex.The AQE is high in storage but it is computationally efficient (Ledoux, 2006). Each tetrahedron contains 6 edges – each one is represented by four quads containing 3 pointers. This makes a total of 72 pointers. The total number of pointers for the dual is also 72. It makes a total of 144 pointers for each tetrahedron. However we preserve valuable properties which are crucial in real-time computations.Construction and navigation In previous work the theoretical basis of the storage and manipulation of 3D subdivisions with use of the AQE were described (Ledoux and Gold, in press) and it was shown that this model worked.The main construction operator is MakeEdge . It creates a single edge, that at the moment of creation it is not linked to any other edge. The Splice operator is used to link edges in the same subdivision. Edges in the dual subdivisions are linked one-by-one later using the through pointer.a)b)Figure 2. Flip operators (Ledoux, 2006): a) flip14 is used when a new point is inserted. Its reverse is flip41; b) flip23 is used when the structure has to be modified in order to preserve thecorrect DT. Its reverse is flip32.When a new point is inserted in the structure of the DT, four new tetrahedra are created inside the already existing one that contains the newly inserted point. Then the enclosing tetrahedron is removed. The new corresponding Voronoi points are calculated and another tetrahedron is created separately in the dual subdivision. Then all edges are linked together and, to maintain a properly built DT structure, subdivisions are modified by flip operators. Two basic flip operators are shown in Figure 2.Another requirement for the navigation is the through pointer that links together both dual subdivisions (Ledoux and Gold, in press), (Ledoux, 2006). The org pointers that are not used in 3D allow for making a connection to the dual edge. With this operator it is possible to go to the dual subdivision and back to the origin. It is the only way to connect two different cells in the same subdivision.Figure 3. The through pointer is used to connect both dualsubdivisions (Ledoux, 2006)To get the shared face of two cells, the adjacent operator is used. It is a complex operator that consists of a sequence of through and other basic operators. (Ledoux, 2006)4. ATOMIC OPERATORS The general algorithm of the point insertion to the DT/VD structure was described by Ledoux (2006). In our current work we have implemented and improved the way of building the whole structure.Algorithm 1: ComplexMakeEdge (DOrg, DDest, VOrg, VDest)// DOrg, DDest – points defined edge in DT // VOrg, VDest – points defined edge in VDe1:=MakeEdge(DOrg, DDest); e2:=MakeEdge(VOrg, VDest); e1.Rot.V:=e2;e2.InvRot.V:=e1.Sym;The most fundamental operator is ComplexMakeEdge which creates two edges using MakeEdge (Ledoux, 2006). They are dual and the one belongs to the DT and the second to the VD. The V pointer from the Quad-Edge structure is used to link them as shown in Algorithm 1. We claim that the connection between the newly created edges in both dual subdivisions has a very important property – it is permanent and not changed by any other operator.Algorithm 2: InsertNewPoint(N) – ComplexFflip14// N – new point inserted to the DT1.Find tetrahedron which contain point N2.Calculate 4 new Voronoi points3.Create new edges with using ComplexMakeEdge withpoint N and new Voronoi points4.Assign through pointers5.Disconnect origin edges of tetrahedron using Splice6.Connect edges of 4 new tetrahedra using Splice7.Add 4 new tetrahedra to a stack8.while necessary do flip23 or flip32 for tetrahedra fromthe stackFigure 4. fli p14 divides origin tetrahedron ABCD into 4 new The first operation in the point insertion to the structure is flip14 (Fig. 2a). It divides space occupied by tetrahedron ABCD into four smaller ones (Fig. 4). The inserted point N is a vertex shared by new tetrahedra. As mentioned above, this version of the algorithm is an improvement over Ledoux (2006). The significant aspect is that we don’t remove the origin tetrahedra and create 4 new. Edges from the origin tetrahedron are disconnected and used to create 4 new. Thus no edges are deleted from the DT structure. What is more, the same applies to the VD because dual edges are linked together permanently. Only new edges are added to the structure.Tetra- hedronEdges from originABCD tetrahedronused to create 4 newNewly created edgesT I CA, AD DC, CN, AN, DNT II AB, BD DA, AN, BN, DNT III BC, CD DB, BN, CN, DNT IV - BA, AC, CB, BN, AN, CNTable 5. Edges used in flip14Table 5 in conjunction with Fig. 2a) shows which edges are created and which ones are taken from the origin tetrahedron. The operation of point insertion does not demand any modification to the whole structure except for local changes of a single cell. This case is implemented in the ComplexFlip14 operator (Algorithm 2). The structure created this way keeps all new cells connected, and navigation between them, and within the whole structure, remains possible. The new complex operator is more efficient because it requires fewer operations to insert a point and modify the structure.Tetra-hedronEdges from origintetrahedra used tocreate new onesNewlycreatededgesDeletededgesT’ Ifrom TI: BEfrom TII: BD, ABAE, AD,DEAB (from TI) T’ IIfrom TI: AEfrom TII: AD, CACE, CD,DECA (from TI) T’ IIIfrom TI: CEfrom TII: CD, BCBE, BD,DEBC (from TI)Table 6. Edges used in flip23Algorithm 3: flip23(TI, TII):// TI, TII – two adjacent tetrahedra1.Calculate 3 new Voronoi points2.Copy edges and create new ones as shown in Table 63.Assign through pointers4.Disconnect edges of 2 original tetrahedra using Splice5.Connect edges of 3 new tetrahedra using Splice6.Remove spare edges (see Table 6)7.Remove 2 old Voronoi points8.Add 6 new tetrahedra to the stackTetra-hedronEdges from origintetrahedra used tocreate new onesNewlycreatededgesDeleted edges T Ifrom T’I: BEfrom T’II: CEfrom T’III:AEAB, BC,CAT IIfrom T’I: AB, BDfrom T’II: BC, CDfrom T’III: CA, AD-from T’I: AE,AD, DEfrom T’II: BE,BD, DEfrom T’III: CE,CD, DETable 7. Edges used in flip32Algorithm 4: flip32(TI, TII, TIII):// TI, TII, TIII – three tetrahedra adjacent in pairs1.Calculate 2 new Voronoi points2.Copy some edges and create new ones as shown inTable 73.Assign t hrough pointers4.Disconnect edges of 3 origin tetrahedra using Splice5.Connect edges of 2 new tetrahedra using Splice6.Remove spare edges (see Table 7)7.Remove 3 old Voronoi points8.Add 6 new tetrahedra to the stackFinally all edges are linked together to give a correctly built structure. Then correctness tests are performed. They check if the new tetrahedra have built the correct DT structure. If not, flip23 (Algorithm 3) or flip32 (Algorithm 4) are executed(Ledoux, 2006). Edges taking part in these operators are listed in Tables 6 and 7 and showed in Fig. 2b).To check the validity of our assumptions a special computer application was created. The implementation showed that our new complex operators work. The number of required operations for creation and deletion of edges and assignment of pointers has significantly decreased from the previous work of (Gold, et al., 2005).PUTER AIDED MODELLING Emergency planning and design of buildings are major issues for many people especially after 11th September 2001. To manage disasters effectively they need tools for rapid building plan compilation, editing and analysis.In many cases 2D analysis is inadequate for modelling building interiors and escape routes. 3D methods are needed. This is more obvious in disciplines such as geology (with complex adjacencies between rock types) and building construction (with security aspects). There is no appropriate data structure to describe those issues in a “3D GIS” context.Figure 8. The AQE is an appropriate structure for the modelling of building interiors. (Ledoux, 2006)The new operators can be used for advanced 3D modelling. In our opinion the AQE is a good structure for the modelling of building interiors (Fig. 8). Faces in the structure are stored twice, so every wall separating two rooms can have different properties on each side. It can help to make models not only of simple buildings but also of overpasses, tunnels and other awkward objects. It will be possible to create systems for disaster management, for example to simulate such phenomena as spreading fire inside buildings, flooding, falling walls, terrorist activity, etc.Another example is navigation in buildings, which requires the primal graph for forming rooms and the dual graph for making connections between rooms. Even though one can be reconstructed from the other, they both are needed for full real-time query and editing. These graphs need to be modifiable in real-time to take account of changing scenarios. This 3D Data Structure will assist applications in looking for escape routes from buildings.6.CONCLUSIONSOur current work involved the development and improvement of the atomic construction operations similar to the Quad-Edge. When we complete all atomic operators and prove their correctness, we will be able to use binary operations for location of quads in the stored structures. That will improve the efficiency of algorithms and allow for their use in real-time applications.In future work we will try to create a basic program for the modelling of building interiors and implement new functions such as the evaluation of optimal escape routes. We believe that such basis “edge algebra” has many practical advantages, and that it will be a base for many future applications.REFERENCESAurenhammer, F., 1991. Voronoi diagrams: A survey of a fundamental geometric data structure. ACM Computing Surveys, 23 (3), pp. 345-405.Dobkin, D. P. and Laszlo, M. J., 1989. Primitives for the manipulation of three-dimensional subdivisions. Algorithmica, 4, pp. 3-32.Gold, C. M., Ledoux, H. and Dzieszko, M., 2005. A Data Structure for the Construction and Navigation of 3D Voronoi and Delaunay Cell Complexes. WSCG’2005 Conference, Plzen, Czech Republic.Guibas, L. J. and Stolfi, J., 1985. Primitives for the manipulation of general subdivisions and the computation of Voronoi diagrams. ACM Transactions on Graphics, 4, pp. 74-123.Ledoux, H. and Gold, C. M., in press. Simultaneous storage of primal and dual three-dimensional subdivisions. Computers, Environment and Urban Systems.Ledoux, H., 2006. Modelling three-dimensional fields in geoscience with the Voronoi diagram and its dual. Ph.D. dissertation, School of Computing, University of Glamorgan, Pontypridd, Wales, UK.Lienhardt, P., 1994. N-dimensional generalized combinatioral maps and cellular quasi-manifolds. International Journal of Computational Geometry and Applications, 4 (3), pp. 275-324. Lopes, H. and Tavares, G., 1997. Structural operators for modelling 3-manifolds. Proceedings 4th ACM Symposium on Solid Modeling and Applications, Atlanta, Georgia, USA, pp. 10-18.Mostafavi, M. A., Gold, C. M. and Dakowicz, M., 2003. A Delete and insert operations in Voronoi/Delaunay methods and applications. Computers & Geosciences, 29 (4), pp. 523-530.。