हार्ट ग्राफ को ड्रा / प्लॉट करें


45

आपकी चुनौती नीचे दिए गए दिलों में से एक को आकर्षित / प्लॉट करना है। आकार कम से कम 50x50 पिक्सेल (वेक्टर ग्राफिक्स ठीक है) होना चाहिए। आप चुन सकते हैं कि आप किन-किन दिलों को खींचना / साजिश करना चाहते हैं। अक्ष, ग्रिड लाइन आदि स्वीकार किए जाते हैं। ग्राफ पर कम से कम 100 अलग निर्देशांक / बिंदु होने चाहिए । दिल चाहे तो रंग से भर सकता है।

यहाँ छवि विवरण दर्ज करें

समीकरण या तो हैं:

यहाँ छवि विवरण दर्ज करें

या

यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें

tसीमा में है [-1, 1]

या

यहाँ छवि विवरण दर्ज करें

या

यहाँ छवि विवरण दर्ज करें

यह इसलिए बाइट्स जीत में सबसे छोटा कोड (प्रत्येक भाषा में)। कृपया आउटपुट (या ऑनलाइन इंटरप्रेटर के लिए लिंक) प्रदान करें।

जवाबों:


66

TI-80 BASIC, 45 43 41 39 बाइट्स

LBL 1
RAND4-2->X
RAND4-2
IF (X²+ANS²-1)³<X²ANS³
PT-ON(X,ANS
GOTO 1

यहाँ छवि विवरण दर्ज करें

इसमें थोड़ा समय लगा, और मेरी बैटरी कम है इसलिए मैं नहीं जाना चाहता था।

मैंने दूसरे समीकरण का उपयोग करने की कोशिश की, लेकिन यह वास्तव में लंबे समय तक काम करने के लिए इसे प्राप्त नहीं कर सका , इसलिए मैंने सिर्फ मेरे पास मौजूद दूसरे उत्तर को अनुकूलित किया।

संपादित करें: मैंने सिर्फ 50x50 पिक्सेल की आवश्यकता पर ध्यान दिया, दुर्भाग्य से स्क्रीन केवल 47 पिक्सेल ऊँची है इसलिए यह संभव नहीं है।


1
वास्तव में रचनात्मक!
१५

8
यह एक समय हो गया है, लेकिन आप बदल सकते हैं IF (X²+ANS²-1)³-X²ANS³<0के साथ IF (X²+ANS²-1)³<X²ANS³?
3

ओह, मैं विश्वास नहीं कर सकता कि मैंने ऐसा नहीं सोचा था! धन्यवाद
12Me21

45

पर्ल, 86 बाइट्स

$y=1-$_/25,say+map$y**3*($_*=$_/1e3)-($_+$y**2-1)**3>0?$|--?v60:3:$",-40..40for-6..50

के साथ भागो perl -E

पहले समीकरण का उपयोग करते हुए, एक भरे हुए ASCII दिल को प्लॉट किया। ध्यान दें कि x- अक्ष ~ 1.265 के कारक से फैला है: यह इस तथ्य का प्रतिकार करने के लिए है कि टर्मिनल फोंट आमतौर पर क्षैतिज रूप से लंबवत रूप से बहुत बड़े होते हैं।

आउटपुट:

                3<3<3<3<3<3<3<                   3<3<3<3<3<3<3<                 
              3<3<3<3<3<3<3<3<3<3<           3<3<3<3<3<3<3<3<3<3<               
            3<3<3<3<3<3<3<3<3<3<3<3<       3<3<3<3<3<3<3<3<3<3<3<3<             
          3<3<3<3<3<3<3<3<3<3<3<3<3<3<   3<3<3<3<3<3<3<3<3<3<3<3<3<3<           
         3<3<3<3<3<3<3<3<3<3<3<3<3<3<3< 3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<          
        3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3 <3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<         
       3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3        
      <3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<       
      3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3       
     <3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<      
     3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3      
    <3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<     
    3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3     
    <3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<     
    3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3     
    <3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<     
   3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3    
   <3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<    
    3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3     
    <3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<     
    3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3     
    <3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<     
    3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3     
     <3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<      
     3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3      
     <3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<      
      3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3       
      <3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<       
       3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3        
       <3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<        
        3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3         
         <3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<          
         3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3          
          <3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<           
           3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3            
            <3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<             
             3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3              
              <3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<               
               3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3                
                <3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<                 
                 3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3                  
                  <3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<                   
                   3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3                    
                     <3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<                      
                      3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3                       
                       <3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<                        
                         3<3<3<3<3<3<3<3<3<3<3<3<3<3<3                          
                           <3<3<3<3<3<3<3<3<3<3<3<3<                            
                            3<3<3<3<3<3<3<3<3<3<3<3                             
                              <3<3<3<3<3<3<3<3<3<                               
                                3<3<3<3<3<3<3<3                                 
                                  <3<3<3<3<3<                                   
                                    3<3<3<3                                     
                                     <3<3<                                      
                                       3                                        

स्पष्टीकरण (चूंकि ओपी ने इसके लिए कहा था):

condition := $y**3*($_*=$_/1e3)-($_+$y**2-1)**3>0

यह केवल पहला समीकरण है, इसे छोटा करने के लिए थोड़ा पुन: व्यवस्थित किया गया है। $ y सीधे सूत्र में y का प्रतिनिधित्व करता है। $ _ शुरू में x के समानुपाती होता है, लेकिन स्वयं के साथ गुणा किया जाता है ( $_*=$_/1e3), यह x² के समानुपातिक बनाता है। चूंकि x Since का उपयोग दो बार सूत्र में किया जाता है, इसलिए यह कुछ बाइट्स को बचाता है।

1e31000 का मतलब है, और चुना गया था क्योंकि यह छोटा है और परिणाम अच्छा लग रहा है। ** पर्ल का पॉवर ऑपरेटर है। मैं >0इसके बजाय उपयोग करता हूं ==0क्योंकि मैं एक भरा दिल चाहता हूं।

flip_flop := $|--?v60:3

v60 ASCII कोड 60: '<' के साथ वर्ण को दर्शाने के लिए पुरातन संस्करण-स्ट्रिंग सिंटैक्स का दुरुपयोग है।

$ | एक जादुई चर है जो केवल कभी 0 या 1. घटाया जा सकता है जब यह पहले से ही 0 पर सेट हो। 1. घटने पर यह स्वाभाविक रूप से 1 के लिए सेट होता है। इस प्रकार, $। - अक्सर एक फ्लिप-फ्लॉप के रूप में उपयोग किया जाता है: हर बार इसका मूल्यांकन किया जाता है, यह सच और झूठ के बीच वैकल्पिक होता है।

समग्र रूप से, यह अभिव्यक्ति वैकल्पिक रूप से '<' और 3 है।

inner_loop := <condition> ? <flip_flop> :$"

नेचर टर्नरी। यदि स्थिति झूठी है (→ हम दिल से बाहर हैं), $ का मूल्यांकन करता है ", जो एक जादुई चर है जो" "(एकल स्थान) में चूक करता है। यदि स्थिति सत्य है (→ हम दिल के अंदर हैं), यह flip_flop का मूल्यांकन करता है।

outer_loop := say+map <inner_loop> ,-40..40

इनर_लूप का बार-बार मूल्यांकन करता है, $ _ (पर्ल के "डिफॉल्ट" वैरिएबल) के साथ -40 से 40 तक जा रहा है, 1. की वृद्धि में। यह एक अस्थायी सूची में उन मूल्यांकन के परिणामों को इकट्ठा करता है, फिर उन सभी को प्रिंट करता है, एक नई रेखा के साथ समाप्त होता है ।

$y=1-$_/25, <outer_loop> for-6..50

यह बाहरी_लूप को बार-बार चलाता है, $ y 1.24 (1 - -6 / 25) से -1 (1 - 50/25) तक जाता है, 0.04 के घटाव में।

ध्यान दें कि y को 25 से विभाजित किया गया है, जबकि x² को 1000 से विभाजित किया गया है, जो कि sqrt (1000) द्वारा विभाजित x के समान है। मेरे द्वारा उल्लिखित ~ 1.265 कारक sqrt (1000) / 25 है।


5
हुह, मुझे लगता है कि यह किसी भी नियम का उल्लंघन नहीं करता है ... मेरा पसंदीदा अब तक :) मुझे एक स्पष्टीकरण अच्छा लगेगा हालांकि :)
स्टीवी ग्रिफिन

1
मैं किसी बात को लेकर उलझन में हूं। क्यों उपयोग? V60 खत्म, कहते हैं, "<"?
निक हार्टले

समान लंबाई, लेकिन टाइप करना आसान है।
ग्रिमी

दिलों से बना दिल।
द वंडर

34

मैथेमेटिका वोल्फ्रामअल्फा, 17 15 13 11 बाइट्स

मार्टिन एंडर (1 हार्ट कर्व -> हार्ट कर्व 1) की बदौलत 2 बाइट शेव किए गए

मार्टिन एंडर (दिल की वक्र 1 -> heartcurve1) की बदौलत एक और 2 बाइट्स से बाहर कर दिया गया

यह शायद धोखा (स्पष्ट समाधान) है, लेकिन यहाँ जाता है।

heartcurve1

यहाँ कोशिश करो!

मुझे यकीन है कि 1, दिल या वक्र को छोटा करने का एक तरीका है कि वोल्फ्राम अभी भी इसे स्वीकार करता है। खैर यह अब रिक्त स्थान से मुक्त है, शायद दिल के लिए किसी प्रकार का संक्षिप्त नाम?

क्या मुझे उनमें से 2 की साजिश रचने के लिए बोनस अंक मिलते हैं?

heartcurves

यहाँ कोशिश करो!



6
दरअसल, heartcurve1काम करता है।
मार्टिन एंडर

23
@MartinEnder दुनिया में क्या
Thunda

1
दिल की धड़कन का पहला हिस्सा बट की तरह दिखता है
मिखाइल वी

@MikhailV 0 वां हार्टक्रूव (कार्डॉइड) एक बट की तरह दिखता है।
थुंडा

29

गणितज्ञ, 52 बाइट्स

RegionPlot[(x^2+y^2-1)^3-x^2y^3<0,{x,-2,2},{y,-2,2}]

यहाँ छवि विवरण दर्ज करें

हम एक और बाइट को बचा सकते थे, ContourPlotलेकिन तब पृष्ठभूमि थोड़ी तल्ख हो जाती है:

ContourPlot[(x^2+y^2-1)^3-x^2y^3,{x,-2,2},{y,-2,2}]

यहाँ छवि विवरण दर्ज करें

एक अतिरिक्त बाइट के लिए हम चौथे सूत्र का उपयोग कर सकते हैं और PolarPlotइसके बजाय:

PolarPlot[(x=Sin@t)Abs@Cos@t^.5/(x+7/5)-2x+2,{t,0,7}]

यहाँ छवि विवरण दर्ज करें


23
"थोडा त्रासद" थोड़ी समझदारी है ...
मेगो

कंटूरप्लॉट ओसीडी को बहुत ट्रिगर करता है। Aaaaaah! : डी
कीवीयूएसआर

25

कैसियो एफएक्स -7700 जीएच, 21 बाइट्स

sin θ √ Abs cos θ ÷ ( sin θ + 7 ÷ 5 ) - 2 sin θ + 2

रेखांकन फ़ंक्शन को ध्रुवीय समन्वय ग्राफिंग फ़ंक्शन स्लॉट्स में से एक में दर्ज किया जाना है, फिर यह टिन पर क्या कहता है।

रेखांकन रेंज को मैन्युअल रूप से सेट किया जाना चाहिए (जब तक कि यह वर्तमान सेट रेंज के लिए फिट न हो जाए), मैंने इसे सेट कर दिया है Xmin=-2.75, Xmax=2.75, Ymin=-4, Ymax=1

अन्य कैसियो पावर ग्राफिक श्रृंखला कैलकुलेटर पर भी काम करना चाहिए, और संभवतः बाद में कैसियो ग्राफिक कैलकुलेटर।

कैसियो fx-7700GH कैलकुलेटर द्वारा खींचा गया दिल (हाँ, मैं बहुत बूढ़ा और धूल हूँ )



9

स्माइलबासिक, 85 81 बाइट्स

X=RNDF()*4-2Y=RNDF()*4-2GPSET X*50+99,Y*50+99,-(-X*X*Y*Y*Y>POW(X*X+Y*Y-1,3))EXEC.

यहाँ छवि विवरण दर्ज करें


9

डेसमोस , 20 16 15 बाइट्स

वी 2:

xx) .3 y = xx + yy-1

(= xx)^.3y=xx+yy-1)

वी 1:

xx + yy-1) 3 = xxy 3

V 0:

(x2+y2-1)3=x2y3

आप xxइसके बजाय का उपयोग कर सकते हैंx^2
12M2121

@ 12Me21, ओह यह बहुत अच्छा है, धन्यवाद!
डैनियल

आपकी बाइट की गिनती गलत है, आपके पास एक अतिरिक्त न्यूलाइन है।
R

@ रिकर, मैं नहीं देखता कि यह कैसे गलत है। एक नई रूपरेखा कहां है?
डैनियल

imgur.com/a/4eTyt V2 14 बाइट्स है
R



6

सेजमैथ, 66 बाइट्स

polar_plot(sin(x)*abs(cos(x))^.5/(sin(x)+7/5)-2*sin(x)+2,(0,2*pi))

इसे ऑनलाइन आज़माएं

दुर्भाग्य से, ( implicit_plotऔर पूर्व के लिए parametric_plotनिहित-परिभाषित के अलावा एक चर को परिभाषित करने की आवश्यकता) के लंबे नाम xपहले तीन विकल्पों को बहुत लंबा माना जाता है।

बाइट के लिए बुसुकुक्सान और एंड्रिया लेज़ारोत्तो को धन्यवाद


1
के ^.5स्थान पर काम करता है **.5?
बुसुकुआन

1
@busukxuan नहींं। ऋषि अजगर पर बनाया गया है, और ^XOR है।
मेगो

1
लेकिन ऋषि विकल्प के ^साथ **। अगर यह था क्योंकि मैं सोच रहा था कि यह सही ढंग से स्थानापन्न नहीं कर सकता है अगर एक.
Busukxuan

@busukxuan साधु पायथन की शक्ति संकेतन ( **) का उपयोग करता है । यदि आपने उपयोग करने का प्रयास किया है ^, तो आप एक चेतावनी और एक गलत परिणाम के साथ समाप्त करेंगे।
मेगो

1
@AndreaLazzarotto तब स्पष्ट रूप से मेरी स्मृति दोषपूर्ण है। धन्यवाद।
Mego

6

सी, 137 133 बाइट्स

p;float x,y,f;v(){for(p=4e3;p;x=(float)(p%99-50)/35,y=(float)(p/40-45)/40,f=x*x+y*y-1)putchar(p--%99?f*f*f-x*x*y*y*y<1e-3?35:32:10);}

http://codepad.org/zqqYUui8

धन्यवाद @AlbertRenshaw, मैंने 2 से बाइट्स के लिए 100s को 99s में भी बदल दिया


1
+1; मुझे vफंक्शन के लिए अच्छा फ्लेयर पसंद है। आप की जगह दो बाइट्स दाढ़ी कर सकते हैं 4000के साथ 4e3और जगह 0.001के साथ1e-3
अल्बर्ट रेंशाव

6

जेली , 31 बाइट्स

*3×
²+’*3<çị⁾* 
25µNr÷21µ²ç@þUY

इसे ऑनलाइन आज़माएं!

या 35 बाइट के साथ एक , *भरने के बजाय : बीच की रेखा को बदल दें ²+’*3<ç×9829Ọ»⁶

          ♥♥♥♥♥♥♥♥♥♥           ♥♥♥♥♥♥♥♥♥♥          
        ♥♥♥♥♥♥♥♥♥♥♥♥♥♥       ♥♥♥♥♥♥♥♥♥♥♥♥♥♥        
      ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥   ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥      
     ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥ ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥     
     ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥ ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥     
    ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥    
   ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥   
   ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥   
  ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥  
  ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥  
  ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥  
  ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥  
  ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥  
  ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥  
  ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥  
  ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥  
  ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥  
  ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥  
  ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥  
  ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥  
   ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥   
   ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥   
   ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥   
    ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥    
    ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥    
     ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥     
     ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥     
      ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥      
      ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥      
       ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥       
        ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥        
        ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥        
         ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥         
          ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥          
           ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥           
            ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥            
             ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥             
              ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥              
               ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥               
                 ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥                 
                  ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥                  
                   ♥♥♥♥♥♥♥♥♥♥♥♥♥                   
                     ♥♥♥♥♥♥♥♥♥                     
                      ♥♥♥♥♥♥♥                      
                        ♥♥♥                        
                         ♥                         

कैसे?

इम्प्लीमेंट्स: समीकरण51 बाय 51 लाइन फीड से अलग ग्रिड ऑफ कैरेक्टर्स।

*3× - Link 1: y, xSquared
*3  - cube y
  × - multiply the result by xSquared

²+’*3<çị⁾*  - Link 2: y, xSquared
²           - square y
 +          - add xSquared to the result
  ’         - subtract one
   *3       - cube the result
     <      - less than? (1 if True, 0 if False)
      ç     -     the result of the last link (1) as a dyad: f(y, xSquared)
       ị    - index into (1-based):
        ⁾*  - the string "* " (there is a trailing space on this line)

       ×9829Ọ»⁶ - alternative ending of link 2
       ×9829    - multiply (vectorises) by 9829
            Ọ   - cast to character (vectorises) (9829 is the ♥, 0 is the null-byte)
             »  - maximum (vectorises) of that and:
              ⁶ -     space character (ordinal of space is 32, greater than the null-byte, less than ♥)

25µNr÷21µ²ç@þUY - Main link: no arguments
25              - 25
  µ             - monadic chain separation call that i
   N            - negate i
    r           - inclusive range(negated i, i) -> [-25, -24, ..., 24, 25]
     ÷21        - divide by 21 (vectorises) -> [-1.1904761904761905, -1.1428571428571428, ..., 1.1428571428571428, 1.1904761904761905]
        µ       - monadic chain separation call that r
         ²      - square r (vectorises) (make the xSquared values, left to right)
             U  - upend r (make the y values, top to bottom)
            þ   - outer product using:
          ç@    -     last link (2) as a dyad with reversed arguments: f(y, xSquared)
              Y - join with line feeds
                - implicit print

5

जावास्क्रिप्ट (ईएस 6), 151 147 बाइट्स

document.write`<canvas id=c>`;for(i=0;x=2-i/24,i<97;i++)for(j=0;y=2-j/24,z=x*x+y*y-1,j<97;j++)z*z*z-x*x*y*y*y<0&&c.getContext`2d`.fillRect(i,j,1,1)

संपादित करें: @ उपयोगकर्ता 2428118 के लिए 4 बाइट्स धन्यवाद सहेजे गए। 143 बाइट्स के लिए ES7 संस्करण:

document.write`<canvas id=c>`;for(i=0;i<97;i++)for(x=2-i/24,j=0;j<97;j++)x*x*(y=2-j/24)**3-(x*x+y*y-1)**3>0&&c.getContext`2d`.fillRect(i,j,1,1)


कैसे के y**3बजाय के बारे में y*y*y?
सरोगेट

1
@ सरवा इस प्रकार मेरा नोट "ES7 में थोड़ा छोटा होगा" ...
नील

ठीक है, यह क्रोमियम 55 पर काम करता है, तो एक es7 संस्करण क्यों नहीं जोड़ा जाए?
सरोगेट

1
@ सरवा क्योंकि मेरे पास क्रोमियम 55 काम नहीं है ...
नील

1
@ThisSuitIsBlackNot जब मैंने कोशिश की तो अघोषित चर के बारे में शिकायत की।
नील

4

बीबीसी बेसिक, 80

कल गोल्फिंग खत्म करेंगे।

Http://www.bbcbasic.co.uk/bbcwin/bbcwin.html पर दुभाषिए को डाउनलोड करें

ORIGIN99,99F.u=-56TO56x=u/50b=x^2^.33/2r=(b^2-x^2+1)^.5*50L.u,b*50-r,u,r+b*50N.

पहले समीकरण का उपयोग करके एक भरे हुए दिल को खींचता है, जिसे हम पुन: व्यवस्थित करते हैं और घनमूल लेते हैं (एक वास्तविक संख्या के 3 घन मूल हैं, एक वास्तविक और 2 जटिल हैं, लेकिन हम केवल यहां वास्तविक जड़ में रुचि रखते हैं।) फिर हम फिर से व्यवस्थित करते हैं। में एक द्विघात हो y

x^2+y^2-1=(x^0.66)y

y^2-(x^0.66)y+x^2-1=0

प्रकार की अभिव्यक्तियों के लिए मानक द्विघात सूत्र का उपयोग करना ay^2+by+c=0, और इस तथ्य का लाभ उठाना कि a= 1 हमें मिलता है

y = -b/2 +/- sqrt((b/2)^2-c)

y = -b/2 +/- sqrt((b/2)^2-x^2+1)

जहां -b/2 = (x^0.66)/2( bकार्यक्रम में प्रतिनिधित्व किया है।)

हम बस xबाएं से दाएं के मूल्यों के माध्यम से स्कैन करते हैं , yएक ठोस आकार बनाने के लिए वैध मूल्यों के प्रत्येक जोड़े के बीच एक ऊर्ध्वाधर रेखा खींचते हैं ।

ORIGIN99,99F.u=-56TO56x=u/50b=x^2^.33/2r=(b^2-x^2+1)^.5*50L.u,b*50-r,u,r+b*50N.

ungolfed

ORIGIN99,99
FORu=-56TO56
  x=u/50
  b=x^2^.33/2
  r=(b^2-x^2+1)^.5*50
  LINEu,b*50+r,u,b*50-r
NEXT

4

रूबी, 80 बाइट्स

रूबी को थोड़ा प्यार दिखाओ।

-2.step(2,0.2){|y|-2.step(2,0.1){|x|$><<'. O'[(y*y-1+x*=x)**3+x*y**3<=>0]};puts}

आउटपुट:

         OOOOO     OOOOO             
      .OOOOOOOOO.OOOOOOOOO.          
     OOOOOOOOOOOOOOOOOOOOOOO         
     OOOOOOOOOOOOOOOOOOOOOOO         
     OOOOOOOOOOOOOOOOOOOOOOO         
      OOOOOOOOOOOOOOOOOOOOO          
      .OOOOOOOOOOOOOOOOOOO.          
        OOOOOOOOOOOOOOOOO            
         OOOOOOOOOOOOOOO             
           OOOOOOOOOOO               
              OOOOO                  
                .                    

ऊपर और नीचे कुछ खाली लाइनों के साथ


2

प्रसंस्करण .js: 123 119 बाइट्स

ungolfed:

t = 0; 

void setup() {
    size(99, 300); 
} 

void draw() {
    point(59+99*sin(t)*cos(t)*log(t),350-400*sqrt(cos(t))*pow(t,0.3));
    t+=0.01;
}

golfed:

t=0;void setup(){size(99,300);}void draw(){point(59+99*sin(t)*cos(t)*log(t),350-400*sqrt(cos(t))*pow(t,0.3));t+=0.01;}

यह काफी धोखा देने वाला है क्योंकि यह दोनों एब्स (टी) को बचाने के लिए चित्र में दिखाए गए अनुसार -1 से 1 के बजाय 0 से अनंत तक प्लॉट # 2 देता है। लेकिन यह तकनीकी रूप से सही है क्योंकि 100 से अधिक अंक हैं।


130 बाइट्स "सुधारक" एक

t=-1;void setup(){size(99,300);}void draw(){point(59+99*sin(t)*cos(t)*log(abs(t)),350-400*sqrt(cos(t))*pow(abs(t),0.3));t+=0.01;}

इसे ऑनलाइन आज़माएं

नोट: डिफ़ॉल्ट 100x100 कैनवस पर 100 अंक प्राप्त करने और सेटअप बंद करने के लिए संभवत: एक तरीका है।


आपके किसी भी स्निपेट ने मेरे लिए स्थानीय प्रसंस्करण के संस्करण पर कुछ भी नहीं किया (केवल एक बिंदु को छोड़कर जो दूसरा बिंदु है)
क्रिति लिथोस

क्या आपने स्केचपैड पर कोशिश की है? ("इसे ऑनलाइन आज़माएँ") आपको "रेंडर स्केच" पर क्लिक करने की आवश्यकता है
satibel

लेकिन मुझे लगता है कि इसके बजाय "प्रसंस्करण.जेएस" कहा जाएगा। स्निपेट के लिए मेरे लिए काम करने के लिए, आपको floatइसके बजाय का उपयोग करना होगाint
क्रिक्सी लिथोस

उफ़, .js भूल गए, और इसके लिए धन्यवाद कि मैंने बेकार int को हटाकर 4 बाइट्स बचाए।
satibel

2

टीआई -84 बेसिक, 40 38 बाइट्स

@ 12M21 के उत्तर और आउटपुट के समान, लेकिन इसके बजाय TI-83/84 श्रृंखला के लिए।

While 1:2rand-1→A:2rand-1:If (A²+Ans²-1)³>A²Ans³:Pt-On(A,Ans:End

क्या Ans का उपयोग वास्तव में यहाँ छोटा है? मुझे लगा कि Ans 2 बाइट्स थे।
12M2121

@ 12Me21 नहीं, यह समान आकार का है, और तेज़ भी है। (कम से कम TI-83/84 के लिए, मैं TI-80 के बारे में नहीं जानता)।
टिमटेक

1

बीबीसी बेसिक (BBC माइक्रो) (126 बाइट्स)

यह लेवल रिवर स्ट्रीट के उत्तर की भिन्नता है , लेकिन बीबीसी बेसिक के मूल बीबीसी माइक्रो के पुनरावृत्ति के लिए।

आप निम्नलिखित में से किसी एक को JSBeeb की नई पेस्ट कार्यक्षमता में https://bbc.godbolt.org/ (A JavaScript संचालित बीबीसी माइक्रो एमुलेटर) पर कॉपी और पेस्ट कर सकते हैं , एक बार जब यह चिपकाया जाता है, तो नया दिखाने के लिए 'स्क्रीन' के अंदर Enter दबाएँ। प्रॉम्प्ट, फिर RUN टाइप करें, फिर एंटर को या तो संस्करण चलाने के लिए दबाएँ।

golfed। (126 बाइट्स)

1MO.1:V.29,64;64;:MOVE-57,20:GC.0,1:F.U=-56TO56:X=U/50:IFX<>0TH.B=X^2^.33/2
2R=(B^2-X^2+1)^.5*50:DRAWU,B*50+R:DRAW U,B*50-R:N.

ungolfed। (176 बाइट्स)

1 MODE 1
2 VDU 29,64;64;
3 MOVE -57,20
4 GCOL 0,1
5 FOR U = -56 TO 56
6 X = U/50
7 IF X <> 0 THEN B = X^2^.33/2
8 R = (B^2-X^2+1)^.5*50
9 DRAW U,B*50+R
10 DRAW U,B*50-R
11 NEXT

लाइन 7 को एक्स के लिए एक चेक की आवश्यकता होती है, जब "लूप रेंज" त्रुटि को रोकने के लिए जब एक्स लूप के माध्यम से 0 आधा हो जाता है। इसके अलावा, यह बहुत अधिक समान है। यह एक असली मशीन पर खींचने के लिए बहुत धीमा है, जिसे JSBeeb बहुत अच्छी तरह से अनुकरण करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.