Python的拿手好戏是解决数据分析和可视化问题,本篇文章给大家分享的是python代码画出爱心曲线的操作详解,内容挺不错的,希望可以帮助到有需要的朋友。
先不急着画爱心线,来看如何画函数曲线。
例如,画出指定区间的一个多项式函数:
Python 代码如下:
import numpy as np import matplotlib.pyplot as plt X = np.linspace(-4, 4, 1024) Y = .25 * (X + 4.) * (X + 1.) * (X - 2.) plt.title('$f(x)=\\frac{1}{4}(x+4)(x+1)(x-2)$') plt.plot(X, Y, c = 'g') plt.show()
通过numpy的linspace方法来确定横坐标x的取值范围,列出方程,然后调用matplotlib的pyplot画出函数曲线即可。numpy 是一个用python实现的科学计算包,包括一个强大的N维数组对象Array和成熟的函数库,有用于整合C/C++和Fortran代码的工具包,提供了实用的线性代数、傅里叶变换和随机数生成函数等工具,可以理解成Matlab。
记得中学的时候,我问老师三角函数到底有啥用?(无知者无畏)老师反问我,“如果给了你一块洋铁,怎样才能剪出煤炉烟囱的拐弯呢?”,现在仍然记得老师的这个例子,哪些看似抽象的数学公式,实际上是自己不知道她们的应用场景而已。
Python代码如下:
import numpy as np import matplotlib.pyplot as plt X = np.linspace(0, 2 * np.pi, 100) YSinValues = np.sin(X) YCosValues = np.cos(X) plt.plot(X, YSinValues) plt.plot(X, YCosValues) plt.show()
Matplotlib 是一个 Python 的 2D绘图库,甚至可以生成出版质量级别的图形。
对于那些正态分布而言,Python 画起来也就相当简单了:
import numpy as np import matplotlib.pyplot as plt def pdf(X, mu, sigma): a = 1. / (sigma * np.sqrt(2. * np.pi)) b = -1. / (2. * sigma ** 2) return a * np.exp(b * (X - mu) ** 2) X = np.linspace(-6, 6, 1000) for i in range(3): samples = np.random.standard_normal(10) mu, sigma = np.mean(samples), np.std(samples) plt.plot(X, pdf(X, mu, sigma), color = '.66') plt.plot(X, pdf(X, 0., 1.), color = 'b') plt.show()
为了不显得单调,这里多画了几条曲线。只要算出方差和均值,从excel中读出哪些数值就可以拟合正态分布了。
回归到主题,关于爱心线,有这样一个凄美的爱情故事。
迩来流浪于吴越,一片闲云空皎洁。
300年以上前、ストックホルムの路上で、落ちぶれたデカルトは、ボロボロの服と数冊の数学の本を含む全財産を持ち、物乞いの生活を送っていました。飄々としたデカルトは、通行人に慈善を求めることもなく、黙って頭を下げ、紙に文字を書き、数学の世界に没頭した。 静かな午後、デカルトはいつものように通りで日向に座って数学の問題を勉強していましたが、行き交う群衆や騒がしい馬車や馬が彼の邪魔をすることはありませんでした。
優雅でエレガントな美しい人がいます。私たちは偶然に出会い、偶然に出会います。
「何をしているの?」 デカルトは振り向くと、スウェーデンの小さな王女、国王のお気に入りの娘ケ・リスティンと同じくらい魅力的な、若くて美しい顔、紺碧の湖の水のような澄んだ目を見た。 彼女はひざまずいて、デカルトの数学の本とメモ用紙を手に取り、彼と話し始めました。会話の中で、彼はこの少女が頭の回転が速く、数学に強い興味を持っていることに気づきました。
数日後、デカルトは思いがけず、王様が彼を小さなお姫様の数学教師として雇ったという通知を受け取りました。疑問に思いながら、デカルトは衛兵を追って宮殿へ向かうと、遠くから銀の鐘のような笑い声が聞こえた。彼はその日街で出会った少女を見て、それ以来王女の数学教師になった。
愛はどこから始まるかわかりませんが、深くなります
デカルトの丁寧な指導のもと、王女の数学は飛躍的に上達し、二人は親密になり始めました。デカルトは彼女に、代数学と幾何学を組み合わせることができる直交座標系を紹介しました。これは、デカルトが後に作成することになる解析幾何学の原型でした。 デカルトの指導のもと、クリスティーヌは座標の素晴らしい世界に入り、曲線に魅了されました。毎日離れられなくなったことで、彼らはお互いに恋に落ちました。
ロマンチックな国スウェーデンでは、純粋で美しい愛が静かに芽生えました。
考えてみると、何千マイルにもわたる霧、夕暮れが沈み、空は広大です。
彼らの熱愛の知らせが王の耳に入ると、王は激怒し、デカルトの処刑を命じました。クリスティーヌの嘆願により、国王は彼を国に追放し、王女は宮殿に軟禁された。
当時、黒死病がヨーロッパ大陸に蔓延していました。デカルトがフランスに帰国して間もなく、重病にかかりました。人生秒読みの日々、彼が昼夜恋しかったのは、街で偶然出会った温かい笑顔だった。彼は毎日彼女に手紙を書き続け、彼女の返事を楽しみにしていました。しかし、これらの手紙は国王によって傍受され、王女は国王から何の知らせも受けませんでした。
自分の心の中にあるものを知りたいなら、お腹の中にある本を読んでください。
在笛卡尔给克里斯汀寄出第十三封信后,他永远地离开了这个世界。此时,被软禁在宫中的小公主依然徘徊在皇宫的走廊里,思念着远方的情人。
这最后一封信上没有写一句话,只有一个方程:r=a(1-sinθ)。
国王以为这个方程里隐藏着两个人的秘密,便把全城的数学家召集到皇宫,但是没有人能解开这个函数式。他不忍看着心爱的女儿每天闷闷不乐,便把这封信给了她。拿到信的克里斯汀欣喜若狂,她立即明白了恋人的意图,找来纸和笔,把图形画了出来,一颗心形图案出现在眼前,克里斯汀泪流满面,这条曲线就是著名的“心形线”。
国王去世后,克里斯汀继承王位,便立刻派人去法国寻找心上人的下落,收到的却是笛卡尔去世的消息,留下了一个永远的遗憾…… 这封享誉世界的另类情书,据说至今还保存在欧洲笛卡尔的纪念馆里。
这个故事的出处无从知道,网络上流传着各种各样的版本,甚至在百度百科也有着这个故事。后来,有人考证了真实性,认为这是一个美丽的谎言,但并不妨碍人们对爱心线喜爱。
在直角坐标系中,爱心线的方程的python 表达为:x** 2+ y** 2 + a * x= a * sqrt(x** 2+y** 2) 和 x** 2+ y** 2 - a * x= a * sqrt(x** 2+y** 2)
通过x 来求对应的y值很麻烦,就像软件设计中的“万能层”那样,可以采用参数方程来表示:
x=a*(2*cos(t)-cos(2*t)) y=a*(2*sin(t)-sin(2*t))
具体的python代码如下:
import numpy as np import matplotlib.pyplot as plt a = 1 t = np.linspace(0 , 2 * np.pi, 1024) X = a*(2*np.cos(t)-np.cos(2*t)) Y = a*(2*np.sin(t)-np.sin(2*t)) plt.plot(Y, X,color='r') plt.show()
代表爱心的心形线来了:
但这不是六行代码呀?也不是r=a(1-sinθ)呀? 的确如此,那是极坐标系,python 的matplotlib同样支持极坐标系的,爱心线的六行pyton代码如下:
import numpy as np import matplotlib.pyplot as plt T = np.linspace(0 , 2 * np.pi, 1024) plt.axes(polar = True) plt.plot(T, 1. - np.sin(T),color="r") plt.show()
这样,得到的就是封面中的图像了:
心形线确实是爱心满满,如果融入了忧伤会是怎样呢?
import numpy as np import matplotlib.pyplot as plt x = np.linspace(-8 , 8, 1024) y1 = 0.618*np.abs(x) - 0.8* np.sqrt(64-x**2) y2 = 0.618*np.abs(x) + 0.8* np.sqrt(64-x**2) plt.plot(x, y1, color = 'r') plt.plot(x, y2, color = 'r') plt.show()
这样就得到了另一个爱心线:
インターネット上にも様々な感情が込められた美しいラブラインの実装がたくさんありますが、どれも基本的にはPythonを使って比較的簡単に実装できます。
実際、難しいのはこれらの曲線方程式の表現と、スパイラルなどの実際のアプリケーションシナリオの要件です。
さらに、次のようなさまざまな 3D ビューを描画することもできます。
概要:
データ分析、さらにはビッグデータ処理の最後のステップとして、いわゆる洞察の視覚化である Python は、シンプルで実用的なツールと言えます。
以上がPython コードは愛の曲線を描きますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Pythonは、データサイエンス、Web開発、自動化タスクに適していますが、Cはシステムプログラミング、ゲーム開発、組み込みシステムに適しています。 Pythonは、そのシンプルさと強力なエコシステムで知られていますが、Cは高性能および基礎となる制御機能で知られています。

2時間以内にPythonの基本的なプログラミングの概念とスキルを学ぶことができます。 1.変数とデータ型、2。マスターコントロールフロー(条件付きステートメントとループ)、3。機能の定義と使用を理解する4。

Pythonは、Web開発、データサイエンス、機械学習、自動化、スクリプトの分野で広く使用されています。 1)Web開発では、DjangoおよびFlask Frameworksが開発プロセスを簡素化します。 2)データサイエンスと機械学習の分野では、Numpy、Pandas、Scikit-Learn、Tensorflowライブラリが強力なサポートを提供します。 3)自動化とスクリプトの観点から、Pythonは自動テストやシステム管理などのタスクに適しています。

2時間以内にPythonの基本を学ぶことができます。 1。変数とデータ型を学習します。2。ステートメントやループの場合などのマスター制御構造、3。関数の定義と使用を理解します。これらは、簡単なPythonプログラムの作成を開始するのに役立ちます。

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

Python 3.6のピクルスファイルのロードレポートエラー:modulenotFounderror:nomodulenamed ...

風光明媚なスポットコメント分析におけるJieba Wordセグメンテーションの問題を解決する方法は?風光明媚なスポットコメントと分析を行っているとき、私たちはしばしばJieba Wordセグメンテーションツールを使用してテキストを処理します...


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。
